У меня есть простая форма html и модель, соответствующая форме на основе связующего по умолчанию. HTTPPOST отлично работает и получает все значения формы в модель при отправке формы. Однако я ожидал, что HTTP GET отобразит форму с именем пользователя по умолчанию Hello. Но представление отображает пустую форму. Может ли кто-нибудь объяснить мне, почему связующее устройство по умолчанию не может вывести значения в форму по запросу GET, но может получить значения из моей формы в модель по запросу POST. Благодарю.MVC3 Model Binding и GET Request
----- ----- CONTROLLER
[HttpPost]
public ActionResult Index(SimpleFormModel application)
{
return View(application);
}
[HttpGet]
public ActionResult Index()
{
ViewBag.Message = "Welcome to ASP.NET MVC!";
SimpleFormModel simplefm = new SimpleFormModel();
simplefm.UserName = "Hello";
return View(simplefm);
}
--- МОДЕЛЬ ---
public class SimpleFormModel
{
public string UserName { get; set; }
public string Dob { get; set; }
public string Email { get; set; }
}
-------- VIEW ----- ---------------------
@model MVC3MobileApplication.Models.SimpleFormModel
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
<p>
To learn more about ASP.NET MVC visit <a href="http://asp.net/mvc" title="ASP.NET MVC Website">http://asp.net/mvc</a>.
</p>
<form action="">
<fieldset>
<legend>Personal information:</legend>
Name: <input type="text" size="30" name="SimpleFormModel.UserName" /><br />
E-mail: <input type="text" size="30" name ="SimpleFormModel.Email"/><br />
Date of birth: <input type="text" size="10" name ="SimpleFormModel.Dob"/>
</fieldset>
</form>
Я подумал, если связующий по умолчанию запрограммирован, чтобы получить их из запросить и привязать модель к сообщению даже с помощью html-помощников, это тоже сработает, без использования htmlhelpers. Я надеялся сохранить представление как чистый html, насколько это возможно. –
@RekhaJayaram, модельное связующее используется для анализа опубликованных значений. Если вы хотите вывести значение в поле ввода в HTML, вам нужно будет использовать атрибут value: ' 'именно это делают помощники. –
Большое спасибо за то, что нашли время, чтобы объяснить это. Это действительно помогло мне понять, что происходит. –