Как указывать action у вебформы в asp.net

157
13 февраля 2019, 04:10

У меня возникла проблема с элементарной отправкой post запроса. Пока я гуглил, еще больше запутался. То расширения .aspx , то cshtml. У меня уже мозг кипит.

У меня есть модель users. Эта модель содержит следующие свойства: Name и LastName

class Users
{
   public string Name{ get; set; }
   public string LastName { get; set }
}

Так же в контролере UsersController существует метод RegisterUser, который в качестве параметра принимает объект класа Users

 public ActionResult RegisterUser(Users user)
 {
   //какие-то действия з БД и т.д.
   return View("Registration completed");
 }

Так же существует некая форма:

<form method="post" action=""> 
<input type="text" name="Name"> 
<input type="text" name="LastName"> 
<input type="Submit">Register</input> 
</form>

Я не знаю, что мне прописывать в свойство action для того, что бы функция RegisterUser была вызвана.

Answer 1

Обычно веб-формы на asp.net mvc не пишут в html-коде, а используют хелперы.

В вашем случае представление формы будет выглядеть так:

@model Users
@using (Html.BeginForm("RegisterUser", "Users", new { }, FormMethod.Post, new { @class = "" }))
{
    @Html.TextBoxFor(x => x.Name)
    @Html.TextBoxFor(x => x.LastName)
    <button type="submit">Register</button>
}

Почитайте в документации про параметры BeginForm (actionName/controllerName/etc) и подберите наиболее подходящую перегрузку.

Впрочем, если очень хочется plain html - можете использовать @Url.Action:

<form method="post" action="@Url.Action("RegisterUser", "Users")">
    <input type="text" name="Name">
    <input type="text" name="LastName">
    <input type="Submit">Register</input>
</form>
READ ALSO
Как это можно оптимизировать?

Как это можно оптимизировать?

Как это можно оптимизировать и привести в нормальный вид?

179
Удалить неизвестные символы

Удалить неизвестные символы

Программа берет из реестра значение ключа, но в полученной строке есть неизвестные символы, которые мешают правильной обработки строкСама...

156
Стоит ли обрабатывать входную строку? Laravel Eloquent

Стоит ли обрабатывать входную строку? Laravel Eloquent

Есть код, который обновляет имя пользователя

174