my Ajax.BeginForm이 검색 조건을 컨트롤러에 제출하지 않습니다.Controller (MVC 4)에서 Ajax.BeginForm 검색 메서드가 호출되지 않습니다.
@using (Ajax.BeginForm("Index_AddSearchCriteria", "Home", new AjaxOptions {HttpMethod = "GET", InsertionMode = InsertionMode.Replace, UpdateTargetId = "SearchDiv" }))
{
// @Html.Label("Search: ") // should I use this instead?
// @Html.TextBox("search_criteria") // should I use this instead?
<input type="text" name="search_criteria" />
<input type="submit" value="Search" />
}
<div id="SearchDiv">
</div>
을 컨트롤러
public PartialViewResult Index_AddSearchCriteria(string search_criteria)
{
ViewModel.SearchCriteria = search_criteria;
return PartialView("SearchBar", ViewModel);
}
에 내가 검색 버튼을 누를 때조차 명중되지 않습니다 내 Index_AddSearchCriteria에 중단 점을 넣어했습니다 다음과 같이 코드입니다.
jquery와 unobtrusive-ajax가로드되었습니다.
편집 : 이는 오류 내가 얻을 -
POST http://localhost:51989/Home/Index_AddSearchCriteria 404 (Not Found) jquery-1.8.2.js:8430
send jquery-1.8.2.js:8430
jQuery.extend.ajax jquery-1.8.2.js:7982
asyncRequest jquery.unobtrusive-ajax.js:121
(anonymous function)
jquery.unobtrusive-ajax.js:171
jQuery.event.dispatch jquery-1.8.2.js:3077
elemData.handle.eventHandle
편집 2 : 그래서 코드 작업을 수행합니다,하지만 난 같은 다른 PartialView이 페이지에서 Ajax를 사용하고 100ms마다 폴링하므로 검색 쿼리를 보내는 데 오랜 시간이 걸릴 것으로 보입니다. 나는 그것을 1000ms로 바꿨고 검색은 잘 작동한다.
브라우저의 개발자 도구를 사용하여 (. 당신이 그들 모두를 변경해야하므로 몇 .live 이벤트가 없습니다 바랍니다 또한 당신이 또한 변경하지 않는 한 최소 파일을 참조 그나마) 또는 ajax 요청이 실제로 보내지는지 알아보기 위해 fiddler와 같은 프로그램을 사용하십시오. 그렇다면 응답과 오류가 다시 표시되어야합니다. – heymega
전송 중입니다.하지만 Index_AddSearchCriteria를 찾을 수 없다는 404 오류가 발생합니다. – prunes4u
방금 코드를 실행했는데 정상적으로 실행되었습니다. (나는 ViewModel이 당신이 준 샘플에 정의되지 않았기 때문에 그 코드가 당신을 위해 만들어 졌다고 가정한다. 당신은 당신의 노선으로 놀고 있니? – KevDevMan