Html.ActionLink() 查询字符串部分的输出值
Output values in query string part of Html.ActionLink()
我想使用 Html.ActionLink,它允许为查询字符串中使用的 name/value 对传递路由值,名称由变量定义。
@{
var searchFieldName = ViewData["SearchFieldName"];
var searchFieldValue = ViewData["SearchFieldValue"];
string searchView = ViewData["ReturnSearchView"].ToString();
}
@Html.ActionLink("Search", searchView, new { searchFieldName = searchFieldValue });
我希望将 searchFieldName 替换为它的值,例如:
<a href="/search?somefield=value">
相反,查询字符串具有 "searchFieldName" 作为名称:
<a href="/search?searchFieldName=value">
如何达到预期的效果?
您可以使用 @Html.ActionLink()
overload accepting a RouteValueDictionary
,因此您可以使用字符串指定密钥的名称:
@{
var searchFieldName = ViewData["SearchFieldName"];
var searchFieldValue = ViewData["SearchFieldValue"];
var routeValues = new RouteValueDictionary();
routeValues.Add(searchFieldName, searchFieldValue);
string searchView = ViewData["ReturnSearchView"].ToString();
}
@Html.ActionLink("Search", searchView, routeValues, null);
我想使用 Html.ActionLink,它允许为查询字符串中使用的 name/value 对传递路由值,名称由变量定义。
@{
var searchFieldName = ViewData["SearchFieldName"];
var searchFieldValue = ViewData["SearchFieldValue"];
string searchView = ViewData["ReturnSearchView"].ToString();
}
@Html.ActionLink("Search", searchView, new { searchFieldName = searchFieldValue });
我希望将 searchFieldName 替换为它的值,例如:
<a href="/search?somefield=value">
相反,查询字符串具有 "searchFieldName" 作为名称:
<a href="/search?searchFieldName=value">
如何达到预期的效果?
您可以使用 @Html.ActionLink()
overload accepting a RouteValueDictionary
,因此您可以使用字符串指定密钥的名称:
@{
var searchFieldName = ViewData["SearchFieldName"];
var searchFieldValue = ViewData["SearchFieldValue"];
var routeValues = new RouteValueDictionary();
routeValues.Add(searchFieldName, searchFieldValue);
string searchView = ViewData["ReturnSearchView"].ToString();
}
@Html.ActionLink("Search", searchView, routeValues, null);