2009-10-28 2 views
0

в моей таблице маршрутизации у меня есть эта записьasp.net mvc Html.Textbox, не может установить значение?

routes.MapRoute(
      "myRoute", 
      "route/{controller}/{action}/{id}/{start}/{end}", 
      new { controller = "Home", action = "Index", id = "", start="", end="" } 
     ); 

в моей главной странице у меня есть строка кода, как так:

<%= Html.TextBox("foo", "bar") %> 

Если я получить доступ к странице в виде http://mysite.com/route/Home/Index/id/start/end текстовое поле оказывает OK со значением «bar» Однако, если я получаю доступ к странице с использованием параметров по умолчанию http://mysite.com/route/, то текстовое поле не имеет значения! В излучаемого HTML он показывает, как так:

<input id="foo" type="text" value="" name="foo"/> 

это не установите значение «бар» ... это ошибка? или это не разрешено на главных страницах mvc?

+0

Это выглядит хорошо для меня, я скопировал и вставлял ваш код точно, и у меня получилось текстовое поле с «баром» в нем. Возможно, вы захотите попробовать перезапустить приложение или VS? –

+0

Устанавливаете ли какие-либо ViewData в действии контроллера перед представлением представления? –

+0

У меня есть кое-что в моей коллекции ViewData до отображения рендеринга, но я не могу даже получить этот простой случай использования простой строки для работы – puffpio

ответ

0

он должен работать нормально

< "% = Html.TextBox (" имя», "Пожалуйста, введите ваше имя ...")%>

Выход: < вход ID = "" имя имя = тип «имя» = «текст» значение = «Пожалуйста, введите ваше имя ...» />

0
<%: Html.TextBox("foo", "bar") %> 

иногда вам нужно, чтобы заставить его быть простой атрибут HTML следующим образом

<%: Html.TextBox("foo", null,new{value="bar"}) %> 
Смежные вопросы