.net mvc局部视图
为.net mvc创建部分视图时,是否必须为编辑动作创建一个视图,并且创建动作或一个局部视图对两个动作都足够了。在这里,我考虑与下拉列表,复选框等观点.net mvc局部视图
更新1
这是我一直在努力与今天:
我有一对夫妇的成员,我的模型所创建的局部视图如下:
在控制器我有:
Public ActionResult trip()
{
return View();
}
里面的视图文件夹(trip.cshtml):
@model tests.Models.Mission
<div id="contents">
<div class="editor-label">
@Html.LabelFor(model => model.tripName, "tripName")
</div>
<div class="editor-field">
@Html.DropDownList("tripName", String.Empty)
@Html.ValidationMessageFor(model => model.tripName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.giftname)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.giftname)
@Html.ValidationMessageFor(model => model.giftname)
</div>
在编辑动作:
我加载使用jQuery load
方法的页面,并将其用于创建行动,但对于编辑操作工程确定,数据未被加载。我得到一个404错误
$("#dynamicForm").load("/things/trip #contents", function(response, status, xhr) {
if (status == "error") {
var msg = "";
$("#dynamicForm").html(msg + xhr.status + " " + xhr.statusText);
}
});
是的,我已经试过@Html.RenderPartial
和它的作品,但这个例子中,我试图使用jQuery。
这将取决于您的型号。在大多数情况下,创建/编辑基于相同的模型,所以你应该能够引用一个局部视图...这使得它很好,干。
根据您的更新1: 我没有看到你所指定的任务对象,你正在尝试在$ .load()调用进行编辑。我想至少你会想要传递一个查询字符串参数,如下所示:/things/trip?mission=23
否则,您的控制器操作不知道要将哪些数据加载到视图中并在响应中发回,并且如果您正在收到404错误...请确保您的路径对控制器操作是正确的。
请参阅更新1 – mpora 2013-04-06 06:02:56
如果需要,可以使用单个分部视图,并将其绑定到模型。在编辑的情况下,它将填充数据,而在创建模式下,它将绑定到一个空的模型对象。
请参阅更新1 – mpora 2013-04-06 06:03:20
视图只是一个模板。它可以用于任何行动,只要它能满足你的需求。
更大的问题是,由于其功能,您的编辑和创建是否需要不同的模板?
请参阅更新1 – mpora 2013-04-06 06:03:48
编辑操作是什么意思? – Lars 2013-04-06 09:15:00