【发布时间】:2013-05-20 18:37:24
【问题描述】:
我是 MVC 3 的新手,我对正确的方法有疑问。
假设我有一个模型:
public class MyCustomModel
{
[Required]
public string UserName { get; set; }
[Required]
public DateTime? Birthdate { get; set; }
[Required]
public string City {get;set;} //To partial view
[Required]
public string Street {get;set;} //To partial view
}
在这里我有一个看法
@Html.TextBoxFor(m => m.UserName) @Html.TextBoxFor(m => m.BirthDate) @Html.Action("LocationGroup", "Home") //这里应该渲染城市和街道
我的局部视图会有这样的东西: @Html.TextBoxFor(m => m.City) @Html.TextBoxFor(m => m.Street)
这是控制器中的操作:
[ChildActionOnly]
public ActionResult LocationGroup()
{
MyCustomModel model = new MyCustomModel (); //Should i really instantiate a new instace of the model??? and pass it to the partial view
return PartialView("_TempView", model);
}
基本上,我的一般视图将包含 texboxex 的所有字段,但现在在我的部分视图中,我也希望我的模型中的这些属性很少被正确呈现,并且在提交表单后应该可以在相同的模型中使用所有其他属性。
所以我的问题是,在返回部分视图的操作中,我真的应该实例化模型的新实例吗?但随后数据将在模型的 2 个实例之间拆分?
如何安排,然后如何将数据从局部视图分配到通用视图模型?
【问题讨论】:
标签: asp.net-mvc-3 action partial-views