0
문자열을 빌드하는 자바 스크립트 함수를 사용하여 작업 할 문자열을 C# 코드 숨김에 보냅니다. 문제는 PageMethods.Method가 결코 호출되지 않는다는 것입니다.PageMethods.Method가 자바 스크립트에서 호출되지 않습니다.
관련 코드 :
aspx 페이지 :
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnablePartialRendering="true"
runat="server" />
<script type="text/javascript">
function makeString() {
debugger
var a = document.getElementById("ddlRptYear").value + "_";
var b = document.getElementById("ddlRptType").value + "_";
var c = document.getElementById("ddlGeography").value + "_";
var d = "";
var e = "";
var x = document.getElementById("ddlTouchPoint");
var y = document.getElementById("ddlAOR");
if (x.disabled == false) {
d = x.value + "_";
}
if (y.disabled == false) {
e = y.value;
}
var pptString = a + b + c + d + e + ".ppt";
PageMethods.GetPPTString(pptString, onSuccess, onFail);
}
코드 숨김 :
나는의 SelectedIndexChanged 방법이 명중 할에 대한 RadioButtonList에 AutoPostBack을 가능하게했다[System.Web.Services.WebMethod]
public static void GetPPTString(string pptString)
{
if ((pptString == "") || (pptString == null))
{
throw new Exception("Error: No String Sent.");
}
else
{
throw new Exception(pptString);
}
}
절대 호출되지 않는다는 것을 어떻게 알 수 있습니까? 적절한 핸들러에 도착하기 전에 예외가 발생할 수 있습니까? 요청을 보내고 있는지 확인하기 위해 트래픽을 조사한 적이 있습니까? 그렇다면 응답은 무엇입니까? 자바 스크립트가 그 시점에 도달하기 전에 오류가 발생합니까? –
코드를 밟았 기 때문에 절대로 호출되지 않는다는 것을 알고 있습니다. 자바 스크립트에서 디버거 태그와 C#에서 휴식. 방법을 사용하지 않고 바로 통화를 시작합니다. –
자바 스크립트 호출은 비동기이므로 자연스럽게 실행을 즉시 반환하지만 실제 질문은 * 무엇입니까? 당신은 그 교통량을 조사하고, 실제적으로 * 보내지고 * 돌아 오는 것이 무엇인지 보았다. 그렇게하지 않으면 어둠 속에서 찌르는 일을 당하고 시간을 낭비하게 될 것입니다. –