#c# #asp.net-mvc #model-view-controller
#c# #asp.net-mvc #модель-представление-контроллер
Вопрос:
Я относительно новичок в MVC, я пытался создать форму на своей странице просмотра, которая позволяет мне выбирать значения данных с помощью переключателя, а затем передавать эти данные контроллеру, где он вернет их обратно на страницу просмотра с помощью ViewBag.
Это модель:
public class UserModelR
{
public string TeaType { get; set; }
public string HotelType { get; set; }
}
Это контроллер:
[HttpGet]
public ActionResult Radio()
{
return View();
}
[HttpPost]
public ActionResult Radio(UserModelR u)
{
ViewBag.TeaType = u.TeaType.ToString();
ViewBag.HotelType = u.HotelType.ToString();
return View();
}
Это представление:
@model helpers.Models.UserModelR
@using (Html.BeginForm("Radion", "Home", FormMethod.Post))
{
Select Tea Type
Tea: @Html.RadioButton("TeaType", "Tea", false)
| Coffee: @Html.RadioButton("TeaType", "Coffee", true)
| BlackTea: @Html.RadioButton("TeaType", "BlackTea", false)
| GreenTea: @Html.RadioButton("TeaType", "GreenTea", false)
Select Hotel Type
Hotel Grand Plaza: @Html.RadioButton("HotelType", "HotelGrandPlaza", false)
| Hotel Lake View: @Html.RadioButton("HotelType", "HotelLakeView", false)
| Hotel River Side: @Html.RadioButton("HotelType", "HotelRiverSide", true)
| Hotel Mountain View: @Html.RadioButton("HotelType", "HotelMountainView", false)
}
You Selected
Tea Type: @ViewBag.TeaType
Hotel Type: @ViewBag.HotelType
Когда я нажимаю «Отправить», он перенаправляет меня на «Ресурс не может быть найден». страница с ошибкой.
Комментарии:
1. В вашей Html.BeginForm, которую вы отправляете в действие с именем Radion, также в форме return View() ваше действие Get и Post должно передавать модель в качестве параметра.
2. Имя вашего действия (Radio) в контроллере не совпадает с именем представления (Radion) в файле .cshtml.