У меня есть сценарий, когда мне нужно реализовать две формы, используя один вид ... Будет создана домашняя страница, имеющая форму для каждого входа в LogIn и SignUp (аналогично домашней странице Facebook). Я создал представление для моей домашней страницы (Index.cshtml), которая содержит код razor
для обеих моих форм.Как я могу реализовать несколько форм, используя один вид?
[@using (Html.BeginForm("LogIn", "Home", FormMethod.Post))
]
[@using (Html.BeginForm("SignUp", "Home", FormMethod.Post))
]
Однако, при нажатии на кнопку «Войти» для формы Войти или нажав кнопку «Зарегистрироваться» кнопка для регистрационной формы, среда выполнение выдает ошибка в основном говорит, что Мне все еще нужно создавать представления как для действий LogIn, так и для SignUp, хотя я уже реализовал формы HTML в моем index.cshtml
[ПРИМЕЧАНИЕ. Я не использую поставщика членства ASP.NET. И этот вопрос, как правило, для двух форм, может быть любой из двух форм.]
Итак, мой вопрос: мне действительно нужно создать еще два вида с именем LogIn.cshtml и SignUp.cshtml? Разве это не приведет к дублированию кода? Я довольно новичок в MVC 4, и надеюсь, вы понимаете, что я пытаюсь сделать здесь, поэтому все, что я хочу знать, есть ли другой способ реализовать это? (JQuery, AJAX или что-то)
public class HomeController : Controller
{
[HttpGet]
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult LogIn()
{
return View();
}
[HttpPost]
public ActionResult LogIn(Account acc)
{
// some code
return View();
}
[HttpGet]
public ActionResult SignUp()
{
return View();
}
[HttpPost]
public ActionResult SignUp(Account acc)
{
// some code
return View();
}
}
Это происходит потому, что каждый метод контроллер рассчитывает иметь соответствующий вид. Если вы конкретно не указали, какой вид использовать, например 'return View (" use_this_view ")' или 'return View (" path_to_the_view/use_this_view.cshtml ")'. –
Большое спасибо ... return View («use_this_view») отлично работает. –