MVC局部视图后
问题描述:
我有有分支的对象列表的公司对象,MVC局部视图后
我公司视图(驻留在企业目录)中有一个强类型的分支列表视图(居住在分支目录) ,
分支视图中的每个分支都有一个删除按钮,我想要在分支控制器中发布删除操作。
目前所调用的删除操作是一个在公司控制
(有两个公司和分支删除操作)
我相信,我的理解是这样做的原因是什么,然而,在这种情况下,最佳实践是什么......
- 分支列表部分视图应该驻留在公司目录还是分支目录?
- 删除分支动作应该驻留在公司还是分支控制器?
我认为分支目录应该在分支目录中并调用分支控制器,但是当部分视图加载到公司详细信息视图中时,如何获取它?
希望这是有道理的,
感谢,
马克
<% foreach (var item in Model) { %>
<tr>
<td>
<form action="Edit" method="get">
<input type="submit" value="Edit" id="Submit1" />
<input type="hidden" name="id" value="<%= item.Id %>" />
</form>
|
<form action="Branch" method="get">
<input type="submit" value="Details" id="Submit2" />
<input type="hidden" name="id" value="<%= item.Id %>" />
</form>
|
<form action="BranchDelete" method="post">
<input type="submit" value="BranchDelete" id="Submit1" />
<input type="hidden" name="id" value="<%= item.Id %>" />
</form>
答
你需要围绕每一组要与一个单独的标签形式提交的字段。每页可以有多个表单标签。实际上,您可能希望每个分部视图都有自己的表单标签,并将其提交给不同的控制器操作。
将部分视图放在最有意义的地方。文件位置与表单从浏览器返回的方式无关。
您可以发布到像这样的不同的控制器。一个发布到分支机构控制器,一个发布到公司控制器。
在每个视图或局部视图,所有你需要的是一个提交按钮:
<input type="submit" value="Delete" />
替代我刚刚摸索出的是,我可以在公司的控制器,重新行动指向分支控制器 - 不是首选方案。 – foz1284 2010-11-19 23:21:17