MVC3推荐的Controller,Action查询重用

时间:2011-11-25 11:08:35

标签: asp.net-mvc-3

在MVC3应用程序中,存储Controller,Action& S的推荐方法是什么?查询页面的详细信息,然后在后续页面的actionlink中重用它们?

e.g。来自page~ / Home / BlogsByTag?tag = Cloud%20Services列出了一系列博客,捕获Controller,Action& amp;的最佳方式是什么?查询然后如何将这些应用到后续编辑页面中的“返回列表”动作链接(〜/ Admin / Edit /?Blog = 1234)?

2 个答案:

答案 0 :(得分:0)

如果我理解你,你想用引用页面中的url生成一个ActionLink吗?

您可以根据完整网址阅读请求中的引荐来源:

Request.UrlReferrer

如果您想要访问操作,控制器和查询部件,则必须在链接中将它们作为参数传递。例如:

Html.ActionLink("Linktext", "Edit", "Admin", null, 
                               new {
                                  Blog = 1234, 
                                  ReferringController = "Home",
                                  ReferringAction = "BlogsByTag",
                                  ReferringQueryParams = ...
                               });

然后您可以在编辑操作中读取这些val并将其传递给View以生成反向链接。

但是使用history.back()可能是一种更简单的方法。

答案 1 :(得分:0)

您可以使用:

Url.RouteCollection["controller"]
Url.RouteCollection["action"]
...

对于您需要的变量。对于查询字符串,您可以使用:

的Request.QueryString [ “变量1”]

或者你可以声明控制器:

public ActionResult MyController(string controller, string action, string variable...)

并且变量将自动填充。

然后您可以在Session["refurl"]上存储此信息(或完整网址),这对用户会话的其余部分有效