我有两种方法与调用的属性相同,[WebMethod]
但一种采用参数,一种是参数较少。当我试图通过 jquery 调用无参数页面方法时,会发生错误。我想知道 asp.net 网页表单页面中 web 方法的重载是不可能。如果可能的话,我在哪里犯了错误。
这是我的示例代码
我在页面后面的 aspx 代码中定义的两个 web 方法
[WebMethod]
public static string GetFaxUI()
{
string outputToReturn = "";
//System.Threading.Thread.Sleep(5000);
Page pageHolder = new Page();
BBAReman.UserControls.ucFax ctl = (BBAReman.UserControls.ucFax)pageHolder.LoadControl("~/UserControls/ucFax.ascx");
HtmlForm tempForm = new HtmlForm();
tempForm.Controls.Add(ctl);
pageHolder.Controls.Add(tempForm);
StringWriter output = new StringWriter();
HttpContext.Current.Server.Execute(pageHolder, output, false);
outputToReturn = output.ToString();
return outputToReturn;
}
[WebMethod]
public static string GetFaxUI(string Country)
{
string outputToReturn = "";
//System.Threading.Thread.Sleep(5000);
Page pageHolder = new Page();
BBAReman.UserControls.ucFax ctl = (BBAReman.UserControls.ucFax)pageHolder.LoadControl("~/UserControls/ucFax.ascx");
ctl.LocalizeUI(Country);
HtmlForm tempForm = new HtmlForm();
tempForm.Controls.Add(ctl);
pageHolder.Controls.Add(tempForm);
StringWriter output = new StringWriter();
HttpContext.Current.Server.Execute(pageHolder, output, false);
outputToReturn = output.ToString();
return outputToReturn;
}
这是我通过 jquery 调用 web 方法的方式
jQuery.ajax({
type: "POST",
url: "FaxUI.aspx/GetFaxUI",
data: {},
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
sHtml = data.d;
sHtml = $(sHtml).find('#content').html();
$sHtml = $(sHtml)
$sHtml.css({ 'display': 'none' }).appendTo('div#dialog');
$.doTimeout(1000, function () {
$(".ui-dialog").animate({
left: (($(window).width() - 346) / 2) + 'px',
top: (($(window).height() - 305) / 2) + 'px',
height: '305px', width: '346px'
}, 200,
function () {
$("#dialog").removeClass("BusyStyles").find('#faxmain').fadeIn(2000);
$("#dialog").css({ height: '26px' });
});
});
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert(textStatus);
}
});
在相同的代码工作之前,但是当我超载该方法GetFaxUI()
时,我得到了错误。请指导我犯了什么错误。谢谢