我有以下内容:
@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值。
答案 0 :(得分:1)
ViewBag不是来自网址。它来自控制器动作。如果要获取属于POST请求的查询字符串参数或参数,可以使用Request
:
@Html.ActionLink(
"Customer Number",
"Search",
new {
Search = Request["Search"],
q = Request["q"],
sortOrder = Request["CustomerNoSortParm"]
}
)
答案 1 :(得分:0)
ViewBag允许您将数据从控制器共享到视图。
如果要使用URL中的数据来创建链接,则需要使用控制器操作的FormCollection(如果在控制器内构建链接)或直接使用HttpContext(可从视图)
System.Web.HttpContext.Current.Request.QueryString["Search"]