Необходимо передать параметры и CSS, используя Html.Actionlink - PullRequest
0 голосов
/ 23 апреля 2019

Я пытаюсь вызвать метод контроллера, используя ActionLink. Я могу получить доступ к методу контроллера и даже использовать css, чтобы ActionLink выглядел как кнопка, которую он должен, но я не могу передать параметры - каждый раз, когда я пытаюсь, я либо получаю сообщение об ошибке, либо значения становятся равными нулю.

Они действительно дойдут до метода и достигнут точки останова, которую я установил, но без каких-либо значений параметров.

<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>

Они дают мне ошибку, как только я нажимаю на кнопку, в частности, ошибка HTTP 404 для / HomeController / Create.

<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 голосов
/ 23 апреля 2019

Ваша первая попытка использует эту версию перегрузки

@Html.ActionLink(linkText: "Submit Request",
                 actionName: "Create",
                 routeValues: "HomeController",
                 htmlAttributes: new { @class = "btn btn-primary" })

Вторая версия вашей попытки не может найти "/ HomeController / Create", поэтому, если ваш контроллер не является HomeControllerController, вам нужносбросьте «Контроллер» из controllerName.

@Html.ActionLink(linkText: "Submit Request",
                 actionName: "Create",
                 controllerName: "Home",
                 routeValues: new { title = "hello", description = "world" },
                 htmlAttributes: new { @class = "btn btn-primary" })
...