2013-12-10 1 views
2

컨트롤러의 ActionResult가 호출되지 않습니다. 페이지가 새로 고쳐집니다.[AcceptVerbs (HttpVerbs.Post)]을 사용할 때 ActionResult가 호출되지 않음

@using (Html.BeginForm()) 
{ 
    @Html.ValidationSummary(true) 

    <fieldset> 
     @if (@ViewBag.Message != null) 
     { 
      <p style="color: #b94a48;">@ViewBag.Message</p> 
     }  

     @Html.HiddenFor(model => model.Id)  

     <div class="form-group"> 

      <label class="control-label visible-ie8 visible-ie9">Username</label> 
      <div class="input-icon"> 
       <i class="fa fa-user"></i> 

       @Html.TextBoxFor(model => model.UserName, new { @placeholder = "Email", @class = "form-control placeholder-no-fix" }) 

       <p style="color: #b94a48;">@Html.ValidationMessageFor(model => model.UserName)</p> 
      </div> 
     </div>  

     <div class="form-group"> 
      <label class="control-label visible-ie8 visible-ie9">Password</label> 
      <div class="input-icon"> 
       <i class="fa fa-lock"></i>  

       @Html.PasswordFor(model => model.Password, new { @placeholder = "Password", @class = "form-control placeholder-no-fix" }) 

       <p style="color: #b94a48;">@Html.ValidationMessageFor(model => model.Password)</p> 
      </div> 
     </div> 
     <div class="form-actions"> 
      <div> 
       <label class="checkbox"> 
        @Html.CheckBoxFor(model => model.RememberMe, new { @class = "remember" }) Remember me 
       </label> 
      </div> 
      <button type="submit" class="btn blue pull-right"> 
       Login <i class="m-icon-swapright m-icon-white"></i> 
      </button> 

     </div> 

    </fieldset> 
} 

[AcceptVerbs(HttpVerbs.Post)] 
public ActionResult Login(AccountViewModel model, FormCollection args, string ReturnUrl) 
{ 
} 

RouteConfig : 아래에있는 내 코드를 확인

routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.MapRoute("SJSS", "{controller}/Show/{assetCode}/{action}/{id}", new { controller = "Asset", action = "Index", id = UrlParameter.Optional }); 
     routes.MapRoute("Default", "{controller}/{action}/{id}", new { controller = "Account", action = "Home", id = UrlParameter.Optional }); 
+1

입력 유형 = 제출 버튼 유형 대신 제출 – KrishnaDhungana

+0

시도했지만 같은 문제가 다시 발생했습니다. – siva

답변

1

시도 :

당신은 양식에 대한 "액션", "컨트롤러"와 "양식 방법"을 지정해야
@Html.BeginForm("***Action Name***", "***Controller Name***", FormMethod.Post) 
{ 
} 
0

내가 여기 착각 할 수도 있지만 identation 조금 혼란이라는 사실에도 불구하고, 당신이있어 URL을 찾을 수 없습니다 게시하는 경우, 귀하의 양식 작업은 비어 있습니다. 제출 한 경우에도 mvc는 어떤 조치를 취해야하는지 어떻게 알 수 있습니까?

Html.BeginForm에서 액션 및 컨트롤러 매개 변수를 설정해보십시오.

편집 : @ Roman Denysenko의 답변을 확인하여 사례에 완벽하게 부합하는 사례를 확인하십시오. 당신의 @Html.BeginForm이로 변경

0

. 아래 코드를 참조하십시오.

@using (Html.BeginForm("Login", "Account", FormMethod.Post)) 
{ 
} 
관련 문제