我正在尝试使用ActionLink调用控制器方法。我可以访问控制器方法,甚至可以使用css来使ActionLink看起来像应该的按钮,但是我无法传递参数-每次尝试时,我都会收到错误消息或将值显示为null。
这些实际上将到达方法并达到我设置的断点,但没有任何参数值。
<p>@Html.ActionLink("Submit Request", "Create", "HomeController", new { @class = "btn btn-primary"})</p>
<p>@Html.ActionLink("Submit Request", "Create", "HomeController", new { @class = "btn btn-primary", title = "hello", description = "world"})</p>
一旦我单击按钮,这些就会给我一个错误,特别是/ HomeController / Create的HTTP 404错误。
<p>@Html.ActionLink("Submit Request", "Create", "HomeController", new { title = "hello", description = "world" }, new { @class = "btn btn-primary"})</p>
<p>@Html.ActionLink("Submit Request", "Create", "HomeController", new { @class = "btn btn-primary"}, new { title = "hello", description = "world" })</p>
出于完整性考虑,这是HomeController中的方法”
public ActionResult Create(string title, string description)
{
try
{
return RedirectToAction("Index");
}
catch (Exception ex)
{
return View("Index2");
}
}
有人可以告诉我我想念什么或做错什么吗?
答案 0 :(得分:0)
您第一次尝试使用此版本的重载
@Html.ActionLink(linkText: "Submit Request",
actionName: "Create",
routeValues: "HomeController",
htmlAttributes: new { @class = "btn btn-primary" })
尝试的第二个版本找不到“ / HomeController / Create”,因此除非您的控制器为HomeControllerController
,否则您需要从controllerName
删除“ Controller”。
@Html.ActionLink(linkText: "Submit Request",
actionName: "Create",
controllerName: "Home",
routeValues: new { title = "hello", description = "world" },
htmlAttributes: new { @class = "btn btn-primary" })