首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >asp.net MVC处理部分回发响应

asp.net MVC处理部分回发响应
EN

Stack Overflow用户
提问于 2009-07-13 14:22:51
回答 2查看 2.1K关注 0票数 0

我有多个包含相同局部视图的页面。partial包含一个发布到操作的表单。在一篇帖子之后,我想返回到我在帖子之前的页面。做这件事最好的方法是什么?

示例:

部分视图:表单post操作=备注/创建/

页面

page1:产品/索引/

page2:客户/详细信息/

page3:订单/详情/

这3个页面包含局部视图,在发布它重定向到note/create/的局部视图时。我需要返回到关于成功的原始页面。

谢谢西蒙

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-13 14:27:25

让post通过AJAX发生--这样就不会离开页面,或者将当前的控制器/ action /id(或整个Url )作为参数传递给处理post的操作。下面是后者的一个例子。

代码语言:javascript
复制
 <% using (Html.BeginForm(...)) { %>

      <input type='hidden'
             name='currentController'
             value='<%= ViewContext.RouteData["controller"] %>' />
      <input type='hidden'
             name='currentAction'
             value='<%= ViewContext.RouteData["action"] %>' />
      <input type='hidden'
             name='<%= ViewContext.RouteData["id"] %>' />

      ...rest of form...
 <% } %>

代码语言:javascript
复制
 <% using (Html.BeginForm( ...,
         new { ReturnUrl = Url.Action( ViewContext.RouteData["action"],
                                       ViewContext.RouteData ) }, ... )) { %>

  ....
 <% } %>
票数 2
EN

Stack Overflow用户

发布于 2009-07-13 14:36:47

您可以将当前页面地址存储在隐藏字段中,并将其与Post请求一起发送。

在局部视图中:

代码语言:javascript
复制
<script type="text/javascript">

var field = document.getElementById("currentPage");
field.value=document.location.href;

</script>

<form method="post" action="note/create/">
...

<input type="hidden" value="" id="currentPage" name="currentPage" />
</form>

然后检索隐藏输入的地址,并将用户重定向到该地址。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1119741

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档