2008-10-28 3 views
1

ASP.NET MVC를 사용하여 일반 양식 제출 시스템을 구축하려고합니다. 양식보기 및 "성공"보기를 사용하여 양식을 가능한 한 쉽게 작성하고 싶습니다. WebForms 메서드를 사용하면이 작업이 쉽고 템플릿 또는 다중 뷰를 사용하여 수행 할 수 있습니다. MVC로, 나는 조금 붙어있다.ASP.NET MVC에서 MultiView와 비슷한 동작 가져 오기

는 여기에 내가 모방하고 싶은 내용은 다음과 같습니다 이상적으로

<% 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 형식보다 어렵게 만드는 이유는 컨트롤러가 성공한 메시지/콘텐츠가 무엇인지 알 수 없기 때문입니다. 필자가 본 대부분의 데모에서는 컨트롤러가 메시지를 보내지 만보기에는 해당 코드가 필요합니다.

모든 안내에 감사드립니다.

답변

2

당신은 내가 성공적으로이 기술을 사용 할 수있었습니다 컨트롤러

[AcceptVerbs("GET")] 
public ActionResult Signup() 
{ 
    // somecode that builds an html string 
     ViewData["form"] = htmlStringYouBuilt; 
} 

[AcceptVerbs("POST")] 
public ActionResult Login(string username, string password) 
{ 
    // etc 
} 

then in the view 
<%= ViewData["form"] %> 

함께 할 수있다.

+0

불행히도, 컨트롤러가 호출 된 후에 무엇이 표시되어야하는지 전혀 알지 못하기 때문에 이것은 나에게 도움이되지 않습니다. 단순히 데이터를 기록합니다 (발견되면 오류를보고해야합니다). –

관련 문제