C# 页面web方法在ajax调用中不起作用,而web服务方法正在调用ajax
我想为价格范围实现jqueryslider,我尝试使用jqueryC# 页面web方法在ajax调用中不起作用,而web服务方法正在调用ajax,c#,asp.net,web-services,jquery,webmethod,C#,Asp.net,Web Services,Jquery,Webmethod,我想为价格范围实现jqueryslider,我尝试使用jqueryajax调用一个页面web方法,但是对于web页面方法,它不起作用,但是如果我只是将ajax调用的URL属性更改为webservice,那么它的调用就完美了。我试了几个小时,没有发现任何逻辑。这是我的密码 <script type="text/javascript"> var startPosition; $(document).ready(function () {
ajax
调用一个页面web方法,但是对于web页面方法,它不起作用,但是如果我只是将ajax调用的URL属性更改为webservice
,那么它的调用就完美了。我试了几个小时,没有发现任何逻辑。这是我的密码
<script type="text/javascript">
var startPosition;
$(document).ready(function () {
var hdnMinPrice = 142;
var hdnMaxPrice = 969;
$("#slider").slider(
{
min: hdnMinPrice,
max: hdnMaxPrice,
range: true,
values: [hdnMinPrice, hdnMaxPrice],
step: 50,
slide: function (event, ui) {
$('#lbl').text(ui.values[0] + ' - ' + ui.values[1]);
},
start: function (event, ui) {
startPosition = ui.value;
//alert('Slider started at: ' + ui.value);
},
stop: function (event, ui) {
$.ajax({
type: "POST",
//url: SearchResult.aspx/FilterByPrice",
url: "WebService.asmx/InsetSubscriber",
data: "{email: '250@yahoo.com'}",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert('Thanks');
// Do something interesting here.
}
});
return false;
}
});
});
</script>
其中,web服务方法如下所示,正在工作:
[WebMethod]
public void InsetSubscriber(string email)
{
DALSubscriber objSubscriber = new DALSubscriber();
objSubscriber.InsertSubscriber(email);
}
在此代码段之后,我再次重复我的问题页面web方法在jquery ajax调用中运行使用web服务方法的相同方法时不起作用这是因为页面方法在页面上必须是静态的 试试这个:
[WebMethod]
public static void FilterByPrice(string email)
{
// Use HttpContext.Current.Response instead
// Response.Write("min" + email);
//Response.Write("max" + max);
}
我建议您检查httpmodule部分中的web.config。它必须具有ScriptManager的ScriptModule,因为Web页面方法与它一起工作
<system.web>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>
添加EnablePageMethods=“True”和EnableScriptGlobalization=“True”
希望它能工作,这样当使用url:SearchResult.aspx/FilterByPrice调用它时,它在Ajax中就不会工作了。这是正确的吗?这应该是一个注释而不是答案。
<system.web>
<httpModules>
<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/>
</httpModules>
</system.web>