У меня есть простая HTML-форма и модель, соответствующая форме, основанной на связывателе по умолчанию. HTTPPOST работает нормально и возвращает все значения формы в модель при отправке формы.
Однако я ожидал, что HTTP GET отобразит форму с именем пользователя по умолчанию Hello. Но представление отображает пустую форму. Может кто-нибудь любезно объяснить мне, почему механизм связывания модели по умолчанию не может выдвинуть значения в форму по запросу GET, но может получить значения из моей формы в модель по запросу POST. Спасибо.
----- КОНТРОЛЛЕР -----
[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>