ASP.NET - Ajax.파라미터를 사용하여 양식 OnSuccess 콜백 시작
OnSuccess 콜백에 더 많은 매개 변수를 추가하고 싶습니다(하지만 axis 컨텍스트 변수는 유지).
제가 한 일은:
using (Ajax.BeginForm("Register", new AjaxOptions() {
OnSuccess = "new function(arg){HandleBasicForm(arg , 'MyCustomVariable')}",
...
JS 기능:
function HandleBasicForm(ajaxContext , myCustomVariable){
var content = ajaxContext.get_response().get_object();
....
}
그렇지만ajaxContext
null입니다.
그걸 어떻게 하는 거죠?
사용하시니까.get_response()
당신이 (당신이 설정한 MVC3에서) 눈에 거슬리지 않는 자바스크립트를 사용하지 않는 것 같습니다.HtmlHelper.UnobtrusiveJavaScriptEnabled = false
MicrosoftAjax,js 및 MicrosoftMvcAjax.js 파일을 참조하고 있습니다.만약 그런 경우라면 당신은 그들이 그들을new
키워드.
using (Ajax.BeginForm("Register", new AjaxOptions() { OnSuccess = "function(arg){HandleBasicForm(arg , 'MyCustomVariable')}"})
만약 당신이 jquery.unobrusive-ajax.js와 함께 MVC3의 눈에 띄지 않는 javascript 지원을 사용한다면, 당신은 암묵적으로 사용 가능한 것을 사용할 수 있습니다.xhr
그리고.data
변수 대신에.
using (Ajax.BeginForm("Register", new AjaxOptions() { OnSuccess = "HandleBasicForm(data, 'MyCustomVariable')"})
당신의 핸들러는 사용할 필요가 없을 것입니다.get_response().get_object()
역직렬화된 JSON 데이터는 당신의 핸들러에게 직접 전달될 것이기 때문입니다.
function HandleBasicForm(data, myCustomVariable){
var someValue = data.someProperty; //work with data object returned
....
}
OnSuccess
수령.data, status, xhr
서버에서:
OnSuccess = "myJsMethod(data, status, xhr)"
그리고 그와 동등한 자바스크립트 방식은 다음과 같습니다.
function myJsMethod(data, status, xhr) {
}
이제 컨트롤러가 반환됩니다.
return Json(new { param1 = 1, param2 = 2, ... }, JsonRequestBehavior.AllowGet);
그다음에myJsMethod
당신은 에 접근할 수 있을 것입니다.data.param1
등등.
언급URL : https://stackoverflow.com/questions/8034530/asp-net-ajax-beginform-onsuccess-call-back-with-params
'programing' 카테고리의 다른 글
MySQL 부울 "tinyint(1)"은 127까지 값을 유지합니다. (0) | 2023.10.09 |
---|---|
NGINX가 임의로 작동을 중지하므로 수동 재시작이 필요합니다. (0) | 2023.10.09 |
높이가 작동하지 않는 이유: 100%는 화면 높이로 디브를 확장할 수 있습니다. (0) | 2023.10.04 |
CSS만 사용하여 divon을 다른 요소 위에 호버링합니다. (0) | 2023.10.04 |
조회 결과를 MySQL의 변수로 설정 (0) | 2023.10.04 |