0

我有以下内容:

@Html.ActionLink("Customer Number", "Search", new { Search = ViewBag.Search, q = ViewBag.q, sortOrder = ViewBag.CustomerNoSortParm, })

两个 viewbag 属性都来自 URL:

http://localhost:51488/Home/Search?Search=Postcode&q=test&sortOrder=CustomerNo

但是生成的 URL 是:

http://localhost:51488/Home/Search?sortOrder=CustomerNo

它没有拾取任何一个 ViewBag 值。

4

2 回答 2

1

ViewBag 不是来自 URL。它来自控制器动作。如果要获取查询字符串参数或作为 POST 请求一部分的参数,可以使用Request

@Html.ActionLink(
    "Customer Number", 
    "Search", 
    new { 
        Search = Request["Search"], 
        q = Request["q"], 
        sortOrder = Request["CustomerNoSortParm"] 
    }
)
于 2012-05-15T13:25:10.063 回答
0

ViewBag 让您将数据从控制器共享到视图。

如果您想使用来自 URL 的数据来创建链接,则需要使用控制器操作的 FormCollection(如果您在控制器内构建链接)或直接使用 HttpContext(可从视图访问)

System.Web.HttpContext.Current.Request.QueryString["Search"]
于 2012-05-15T13:34:09.607 回答