我有一个简单的html表单和一个基于默认绑定器的表单对应的模型。 HTTPPOST工作正常,并在提交表单时将所有表单值提供给模型。 但我希望HTTP GET显示用户名默认为Hello的表单。但该视图显示一个空白表单。有人可以向我解释为什么默认模型联编程序无法将值推送到GET请求上的表单,但能够从POST表单中将值从我的表单中获取到POST请求中的模型中。谢谢。MVC3模型绑定和GET请求
----- -----控制器
[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视图。 – 2012-03-16 15:21:46
@RekhaJayaram,模型联编程序用于解析发布的值。如果你想在HTML中输入一个值,你必须使用value属性: '这正是帮助者所做的。 – 2012-03-16 16:46:10
非常感谢您花时间解释这一点。这真的帮助我理解发生了什么。 – 2012-03-16 17:33:00