我试图让一系列按钮调用相同的控制器功能,但是每个按钮都将不同的参数传递给控制器。
我一直在寻找一些东西,大多数解决方案都说更改我不想做的路由配置。我想知道是否有其他方法可以做到这一点,或者至少是一种标准做法。
<button class="button">Medium Voltage</button>
@Html.ActionLink("Medium Voltage", "GaugeView", "PSA")
[HttpGet]
public ActionResult GaugeView(string LineName)
{
//Do stuff based on which LineName was specified
return View();
}
我还想隐藏传递给函数的字符串,但这不是必需的。
答案 0 :(得分:1)
public static System.Web.Mvc.MvcHtmlString ActionLink (this System.Web.Mvc.HtmlHelper htmlHelper, string linkText, string actionName, string controllerName, object routeValues, object htmlAttributes);
您需要注意 routeValues 参数。
答案 1 :(得分:1)
只需传递自定义值,如下所示:
@{
var url = Url.Action("GaugeView", "PSA", new { LineName = "value"});
}
<button onclick="window.location.href='@url';">Medium Voltage</button>
@Html.ActionLink("Medium Voltage", "GaugeView", "PSA", new { LineName = "value"}, null)