Я просто пытаюсь вернуться в .NET MVC с новым выпуском, и я не могу понять, как представление привязывается к DataModel.
У меня есть модель ссвойство "first_name" и в форме HTML у меня есть следующее
<%= Html.TextBox("first_name", Model.first_name)%>
<%= Html.TextBoxFor(model => model.first_name) %>
<input type="text" name="first_name" id="first_name" class="myLabel"
value="<%=Model.first_name %>" />
В действии на контроллере, если я устанавливаю свойство first_name для моей модели и выполняю
mymodelObject.first_name = "Test";
return View(mymodelObject);
Что такоепричина, по которой только третье текстовое поле обнаруживает это значение first_name, а два других - нет?
Редактировать:
Я, вероятно, недостаточно объяснил это, извините.Представьте, что у меня есть 2 метода контроллера -
public ActionResult Register()
{
Registration model = new Registration();
model.first_name = "test";
return View(model);
}
. При этом работает привязка.
После того, как это было отображено, я затем нажимаю кнопку в форме и пытаюсь запустить:
[HttpPost]
public ActionResult Register(Registration_ViewData model)
{
model.first_name = "Steve";
return View(model);
}
Я спрашиваю, почему третье, а не первые два связываются со «Стивом» как новым именем.