ASP.NET MVC绑定问题
问题描述:
我有一个名为“name”的属性的对象。 该对象具有一个名为“name”的属性。ASP.NET MVC绑定问题
Transaction.name
Transaction.TransactionItem
TransactionItem.name
我交易对象绑定到局部控制照例:
Html.TextBox("name", Model.name)%>
模型是一个事务处理对象。
我结合TransactionItems:
<% if (Model.mtTransactionItem != null)
{
foreach (var item in Model.mtTransactionItem)
{ %>
<tr>
<td>
<%= Ajax.ActionLink(item.name, "ShowItem", new { id = item.id }, new AjaxOptions { UpdateTargetId = "dialog-form" })%>
</td>
当我通过调用Ajax更新事务项中的所述一个我通过整个事务对象到局部视图。
当我调试时,我检查Model.name
属性,它有一个适当的值。 但在页面上显示的值名称为TransactionItem
,而不是名称Transaction
的值。
我在做什么错?
我在MVC 1.0和MVC 2.0框架中检查了这个问题。
答
您的描述不清楚,但我会给你很好的建议。相反,这样的创造领域:
Html.TextBox("name", Model.name)
使用
Html.TextBox("transaction.name", Model.Name)
然后
ActionResult Save(Transaction transaction);
前缀的价值是相同的功能参数。
如果显示在同一页面上的项目组件,使用
Html.TextBox("transactionitems[i].name", Model.name)
或一个项目
Html.TextBox("transactionitem.name", Model.name)
不要为页面上的不同组件都使用相同的字段名称,因为它可能会导致ModelState出现问题。阅读有关使用前缀,这将有助于节省您的一些问题。
还请记住,使用MVC 2您有DataAnnotations,这使得创建表单更加容易。