我有一个 BarEditor.ascx,可以从不同的地方调用。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<MyApp.Models.Bar>" %>
<%= Html.TextBox("a") %>
...
现在考虑我需要在一页 Edit.aspx 上编辑两个对象
<form action="update">
<div>
<% Html.RenderPartial("BarEditor", ViewData["bar"]); %>
</div>
<div>
<% Html.RenderPartial("BarEditor", ViewData["baz"]); %>
</div>
<input type="submit" value="Submit" />
</form>
这提交:
a=1&a=2
我需要它是:
bar.a=1&baz.a=2
所以我们可以用
public ActionResult Update(Bar bar, Bar baz)
{
...
}
编写可以为控件名称生成前缀的可重用 BarEditor.ascx 的最佳方法是什么?