Как передать в ID с Html.BeginForm ()? - PullRequest
40 голосов
/ 18 мая 2009

В ASP.NET MVC Я использую помощник HTML

Html.BeginForm("ActionName", "Controller", FormMethod.Post);

Но мне нужно написать на: / controller / action / 23434

Как мне пройти в удостоверение личности?

Ответы [ 3 ]

63 голосов
/ 18 мая 2009

Мэтт должен работать нормально. Если вы все еще вводите FormMethod.Post, вам нужно сделать это следующим образом:

Html.BeginForm("action","controller", new { Id = 12345 }, FormMethod.Post);

Изменение третьего и четвертого параметров приведет к тому, что Id будет рассматриваться как атрибут, а не значение маршрута.

10 голосов
/ 18 мая 2009

Html.BeginForm("action", "controller", new {Id = 12345})

7 голосов
/ 09 октября 2013
Html.BeginForm("action", "controller", new { id = ViewBag.FileID },
FormMethod.Post, new { id = "feedbackform" })

Что касается строки запроса, ?type=golden, я не знаю, как это сделать. Конечно, запрос - это получение, которое подрывает всю цель FormMethod.Post. Я имею в виду, вы можете использовать FormMethod.Get, если вам нужны данные строки запроса, и это может быть то, что вы ищете.

Кроме того, вы можете избежать html.beginform и выполнить строку запроса get + post вручную с тегом формы.

В-третьих, если вы используете форму, вы можете сделать скрытое поле:

[input type=hidden name="type" value="golden"]

Затем, когда нажата кнопка отправки, значение передается должным образом как переменная формы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...