0

매우 간단한 MVC4 테스트 페이지를 작성하고 있으며 눈에 잘 띄지 않는 Ajax가 작동하지 않는 것 같습니다. 제출 버튼을 클릭하면 페이지가 제출되지 않습니다.단순한 MVC4 단순한 아약스가 작동하지 않습니다.

중단 점이 VS이고 요청이 없다는 것을 알 수 있습니다.

나는 파이어 폭스를 사용하고 내가 클릭하면 웹 콘솔이 자바 스크립트 오류가 표시 버튼을 제출하고있다 :.
--- 라인 (16)에서 발생에서 getElementById()

에 전달 빈 문자열
--- jquery.unobtrusive-은 ajax.js



I 설치 아약스 옵션은 다음과 같이

AjaxOptions ajaxOpts = new AjaxOptions { UpdateTargetId = "officeList", Confirm = "Are you sure?", Url = Url.Action("GetOfficeData") }; 
내가 어떻게해야합니까

@using (Ajax.BeginForm("GetOfficeData", ajaxOpts)) 
{ 
    <div> 
     @Html.DropDownList("orgList", new SelectList(Model.Organizations, "ORGID", "ORGNAME")); 

     <button type="submit" id="btnSubmit">Submit</button> 
    </div> 
} 

제 (아약스 옵션에 정의 된대로) 내가 제출 버튼을 클릭하면 '당신이 프롬프트 확신'

여기 내 AjaxForm입니다. I가 Ajax.BeginForm을 변경하는 경우


:

@using (Html.BeginForm()) 
... 

은 다음 나의 중단없이 JS 오류로 공격하고, 거기에 도착, 요청이 있습니다.


나는 jQuery를하고 눈에 거슬리지 - 아약스 모두의 최신 버전을 얻으려면 NuGet을 사용했다.

<form action="/Selectee/GetOfficeData" data-ajax="true" data-ajax-confirm="Are you sure?" data-ajax-mode="replace" data-ajax-update="#officeList" data-ajax-url="/Selectee/GetOfficeData" id="form0" method="post">    
    <div> 
     /*--my drop down ..... 
     <br /> 
     <button type="submit" id="btnSubmit">Submit</button> 
    </div> 
</form> 




:

다음
<script src="/Scripts/jquery-2.0.3.js"></script> 
<script src="/Scripts/DataTables-1.9.4/media/js/jquery.dataTables.js"></script> 
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script> 
<script src="/Scripts/jquery.validate.js"></script> 
<script src="/Scripts/jquery.validate.unobtrusive.js"></script> 
<script src="/Scripts/modernizr-2.5.3.js"></script> 




렌더링됩니다 형태입니다 : - (순서대로 모두) 여기에서 소스보기에서 내 스크립트 태그는 어떤 아이디어?

+1

당신의 행동 HttpPost는 있습니까? –

+0

아니요, HttpPost가 아닙니다. 이 단계에서 중요합니까? 브라우저가 요청을 보내지 않은 것으로 보입니다. –

+0

네가 맞아, 컨트롤러에 아직 도달하지 못했다. –

답변

0

나는 그것을 가지고있다.

저는 Html.BeginForm()이 없었고 Ajax.BeginForm() 만 가지고있었습니다. 그게 유효합니까?

Ajax.BeginForm()이있는 Html.BeginForm()과 그 폼 안에있는 모든 컨트롤이 추가되어 작동하기 시작했습니다.

Ajax.BeginForm()이 Html.BeginForm을 대신 차지한다고 생각했지만 두 가지 모두 필요합니다. 그 맞습니까?

+2

Ajax.BeginForm과 Html.BeginForm은 둘 다 필요하지 않습니다. – Marthijn