需要使用Html.Actionlink传递参数和CSS

时间:2019-04-23 17:45:30

标签: html asp.net-mvc-4 model-view-controller

我正在尝试使用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");
        }
    }

有人可以告诉我我想念什么或做错什么吗?

1 个答案:

答案 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" })