C# 使局部视图独立运行
我正在学习MVC并创建一个项目管理网站,我有几个关键的想法。我有一个复杂的模型,其中包括项目摘要和任务列表C# 使局部视图独立运行,c#,.net,asp.net-mvc,asp.net-mvc-4,C#,.net,Asp.net Mvc,Asp.net Mvc 4,我正在学习MVC并创建一个项目管理网站,我有几个关键的想法。我有一个复杂的模型,其中包括项目摘要和任务列表 public class SummaryAndCategoriesViewModel { public Project Summary { get; set; } public IEnumerable<task> Tasks { get; set; } } 在任务内部,我创建了一个EditorTemplate,以便用户可以将每个任务状态从“未启动”->“已完成
public class SummaryAndCategoriesViewModel
{
public Project Summary { get; set; }
public IEnumerable<task> Tasks { get; set; }
}
在任务内部,我创建了一个EditorTemplate,以便用户可以将每个任务状态从“未启动”->“已完成”切换。比如说
在5月份的主要“细节”视图中,我有两个局部视图:
@{var categories = ViewData["AllCategories"] as List<Models.category>;}
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
<div class="form-horizontal">
<hr />
<div class="Summary">
@Html.LabelFor(item => Model.Summary )
@{Html.RenderPartial("_Summary", Model.Summary);}
</div>
<hr />
<div class="tasks">
@Html.LabelFor(item => Model.Tasks )
@{Html.RenderPartial("_Task", Model.Tasks);}
</div>
</div>
}
理想情况下,我希望“摘要”加载到普通的详细信息视图中,而“任务”加载到编辑模式中,我也这样做了
到目前为止,我被两件事困住了:
1-我希望能够只更改“摘要”部分视图,以编辑一些模式弹出窗口也可以工作的内容,并且仍然执行httpPosts。
2-我希望用户能够更改“任务”部分视图,并通过单击“保存”,更新数据库中的任务并刷新“任务”部分视图。我一直在阅读partials和renderpartials,但是我有点困惑应该使用哪种方法,如何将部分模型返回到HTTPPost,以及如何切换部分视图
非常感谢您的指导。它们基本上都是以不同的方式做相同的事情。您为什么不同时编辑项目及其任务?原因是用户通常只更新任务状态。项目摘要通常保持不变,除了少数情况下需要更改摘要项。在这种情况下,在详细信息页面上有链接来编辑项目和编辑呈现不同视图表单的任务会不会更容易?在回发时,重定向回详细信息页面?不知道全部详细信息,但是页面上可能有两个表单,每个表单都有一个按钮,该按钮使用ajax将表单发回SaveProject和SaveTask方法。由于ajax停留在同一页面上,因此不需要刷新“任务”部分