是否可以通过@Html.ActionLink传递参数?
Is it possible to pass a parameter through @Html.ActionLink?
我需要使用相同的视图,但根据用户选择的按钮,我会在 table 中显示不同的数据。我想通过 html.actionlink 传递一个参数来做到这一点。
这是我目前在视图中的内容
<li id="liOpenJobs">@Html.ActionLink("All Jobs", "AllJobs", "AdminJobs", new { filter = "All" })</li>
控制器
[HttpGet]
public ActionResult AllJobs(string filter)
{
if (PCSSession.Current.IsAuthenticated)
{
var jobs = new JobRepository();
var model = new JobsHistoryViewModel();
if(filter == "All")
{
model.jobHistory = jobs.GetAllJobs("alljobs");
}
return View(model);
}
return RedirectToAction("AdminLogin", "AdminLogin");
}
使用 ActionLink
辅助方法的 this overload。
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
RouteValueDictionary routeValues,
IDictionary<string, Object> htmlAttributes
)
第四个参数是路由值对象,它将用于为锚标记的 href
属性值生成查询字符串项。第五个参数是htmlAttributes。如果没有,只需传递 null
@Html.ActionLink("All Jobs", "AllJobs", "AdminJobs", new { filter = "All" }, null)
@Html.ActionLink("Some Jobs", "AllJobs", "AdminJobs", new { filter = "some"}, null)
这将为具有 href
值的锚标记生成 HTML 标记
/AdminJobs/AllJobs?filter=All
和 /AdminJobs/AllJobs?filter=some
我需要使用相同的视图,但根据用户选择的按钮,我会在 table 中显示不同的数据。我想通过 html.actionlink 传递一个参数来做到这一点。
这是我目前在视图中的内容
<li id="liOpenJobs">@Html.ActionLink("All Jobs", "AllJobs", "AdminJobs", new { filter = "All" })</li>
控制器
[HttpGet]
public ActionResult AllJobs(string filter)
{
if (PCSSession.Current.IsAuthenticated)
{
var jobs = new JobRepository();
var model = new JobsHistoryViewModel();
if(filter == "All")
{
model.jobHistory = jobs.GetAllJobs("alljobs");
}
return View(model);
}
return RedirectToAction("AdminLogin", "AdminLogin");
}
使用 ActionLink
辅助方法的 this overload。
public static MvcHtmlString ActionLink(
this HtmlHelper htmlHelper,
string linkText,
string actionName,
string controllerName,
RouteValueDictionary routeValues,
IDictionary<string, Object> htmlAttributes
)
第四个参数是路由值对象,它将用于为锚标记的 href
属性值生成查询字符串项。第五个参数是htmlAttributes。如果没有,只需传递 null
@Html.ActionLink("All Jobs", "AllJobs", "AdminJobs", new { filter = "All" }, null)
@Html.ActionLink("Some Jobs", "AllJobs", "AdminJobs", new { filter = "some"}, null)
这将为具有 href
值的锚标记生成 HTML 标记
/AdminJobs/AllJobs?filter=All
和 /AdminJobs/AllJobs?filter=some