我有一個簡單的模型類(UserAddress)沒有正確傳遞給HttpPost函數。所有成員數據的數據始終爲空值。MVC2 HttpPost沒有收到數據成員
public class User
{
public string Name { get; set; }
}
public class Address
{
public string Address1;
public string Address2;
}
public class UserAddress
{
public User User;
public Address Address;
public UserAddress()
{
User = new User();
Address = new Address();
}
}
和一個簡單的觀點:
<table>
<tr>
<td>
<%: Html.LabelFor(model => model.User.Name) %>
</td>
<td>
<%: Html.TextBoxFor(model => model.User.Name) %>
<%: Html.ValidationMessageFor(model => model.User.Name) %>
</td>
</tr>
<tr>
<td>
<%: Html.LabelFor(model => model.Address.Address1)%>
</td>
<td>
<%: Html.TextBoxFor(model => model.Address.Address1)%>
<%: Html.ValidationMessageFor(model => model.Address.Address1)%>
</td>
</tr>
<tr>
<td>
<%: Html.LabelFor(model => model.Address.Address2)%>
</td>
<td>
<%: Html.TextBoxFor(model => model.Address.Address2)%>
<%: Html.ValidationMessageFor(model => model.Address.Address2)%>
</td>
</tr>
</table>
而這裏的代碼:
public ActionResult Index()
{
UserAddress userAddress = new UserAddress();
return View(userAddress);
}
[HttpPost]
public ActionResult Index(UserAddress userAddress)
{
return View(userAddress);
}
所有成員變量都爲空;如userAddress.User.Name。
我希望你指定的模型在你看來像這樣System.Web.Mvc.ViewPage結合。 –
Pradeep
2010-10-29 04:30:00
是的,但如果他沒有,他的代碼會給出一個運行時錯誤,而不是一個空的http帖子。 – RPM1984 2010-10-29 04:35:38