JQuery에서 C# 함수를 호출하고 있지만 오류가 발생했습니다.C# 메서드가 작동하지 않는 JQuery 코드
JQuery 함수는 ascx 파일로 작성되고 호출 할 C# 함수는 해당 페이지의 코드 뒤에 작성됩니다. 탭 변경 이벤트에서 AJAX 탭에 사용자 정의 컨트롤을로드하는 중입니다.
인터넷 검색, 나는 사용자 정의 컨트롤에서 작성된 C# 함수를 호출 할 수 없다는 것을 알아 냈습니다. 그래서 호스트 페이지 (ASPX)에 함수를 작성했고이 함수는 사용자 컨트롤 함수를 호출합니다.
그러나 AJAX 요청은 실패하는 방법 중 일부입니다. 하지만 흥미로운 점은 오류 함수에 디버거를 보관하고 오류 개체를 검사했기 때문입니다.
상태 readyState가 4
과에서 responseText는 페이지의 마크 업이며, 상태는 OK입니다, 200입니다. 즉, 페이지가 제공되지만 C# 함수에서 중단 점이 유지됩니다. 절대로 안타.
나는 무슨 일이 일어나고 있는지 전혀 모른다. 또한 프런트 엔드에서 C# 함수를 호출하는 것은 이번이 처음입니다. 후드에서 무슨 일이 일어나는지에 대한 상세한 아이디어가 없습니다. 도와주세요. 아래는 코드입니다 JQuery와는
$(function() {
$(".hint ul li").click(function() {
// remove classes from all
$(".hint ul li").removeClass("active");
// add class to the one we clicked
$(this).addClass("active");
//Ankit J, Implement logic to call jquery
var Availability = this.childNodes[0].innerText.trim();
debugger;
$.ajax({
type: "POST",
url: "../Pages/MyPage.aspx/CallUCMethodFromJQuery",
data: "{'sAvailability' : 'Availability'}",
dataType: "json",
success: fnsuccesscallback,
error: fnerrorcallback
});
});
});
function fnsuccesscallback(data) {
alert("success-->" + data.d);
}
function fnerrorcallback(result) {
debugger;
alert("error-->"+result);
}
다음
[System.Web.Services.WebMethod]
public void CallUCMethodFromJQuery(string sAvailability)
{
MyNamespace.UserControls.ControlName m = new UserControls.ControlName();
m.EditAvailabilityValue(sAvailability);
}
그리고 기능 뒤에
ASPX 페이지의 코드 언급하지 죄송합니다
public void EditAvailabilityValue(string sAvailability)
{
}
뒤에있는 UserControl의 코드 .... JQuery와에 클릭 이벤트의 소스가 사용자 컨트롤에있는 li 요소이기 때문에 사용자 정의 컨트롤. 또한 UserControl은 UserControls 폴더에 있으며 호스트 페이지는 Pages 폴더에 있으며이 두 폴더는 루트 폴더에 있습니다.
언급하지 않음 죄송합니다 ... click 이벤트의 소스가 사용자 정의 컨트롤에있는 li 요소이기 때문에 JQuery가 사용자 정의 컨트롤에 있습니다. 또한 UserControl은 UserControls 폴더에 있으며 호스트 페이지는 Pages 폴더에 있으며이 두 폴더는 루트 폴더에 있습니다. – user2861226
내 업데이트 된 답변보기 – ekad
감사합니다 백만 ekad, 그것은 매력처럼 작동했습니다. 그러나, 나는 EditAvailabilityValue를 정적으로 만들지 않았지만 CallUCMethodFromJQuery는 확실히 정적 일 필요가 있고 content type 또한 필요합니다. 어딘가에 JSON 값이 아닌 값을 보내면이 속성을 넣을 필요가 없습니다. 개념을 이해하는 데 도움이되는 설명. – user2861226