Я пытаюсь построить общую систему отправки форм с использованием ASP.NET MVC. Я хотел бы максимально упростить создание форм с представлением формы и представлением «успех». Используя метод WebForms, это было легко и могло быть достигнуто с помощью шаблонов или многовидовых представлений. С MVC я немного застрял.
Вот что я хотел бы подражать:
<% if (formNotSubmitted) { %>
<% Html.BeginForm(...); %>
<%= Html.TextBox("FirstName") %>
<%= Html.TextBox("LastName") %>
<input id='submit' type='submit' value='Submit' />
<%= Html.ValidationSummary %>
<% Html.EndForm(); %>
<% } else { %>
<p>Thank you!</p>
<p><img src='thanks.jpg' /></p>
<p>Other items here maybe.</p>
<% } %>
В идеале, я хотел бы использовать Ajax, но он также должен работать с прямым POST. Я также хотел бы обернуть это как-то, чтобы избежать кода "if..else". Что делает это сложнее, чем типичная форма ASP.NET MVC Ajax, так это то, что контроллер не будет знать, каким должно быть сообщение / контент об успехе. В большинстве демонстраций, которые я видел, контроллер отправляет обратно сообщение, но мне нужен этот код в представлении.
Любое руководство приветствуется.