C# Dotnetnuke-如何使用Ajax在代码隐藏中调用方法
这是剧本C# Dotnetnuke-如何使用Ajax在代码隐藏中调用方法,c#,ajax,dotnetnuke,ascx,C#,Ajax,Dotnetnuke,Ascx,这是剧本 <script type="text/jscript"> function ajaxcall(e) { $.ajax({ type: "POST", url: "/DesktopModules/Modules/Admin/City/AddCity.ascx/GetMethod", contentType: "application/json; charset=utf-8", data: JSON.str
<script type="text/jscript">
function ajaxcall(e) {
$.ajax({
type: "POST",
url: "/DesktopModules/Modules/Admin/City/AddCity.ascx/GetMethod",
contentType: "application/json; charset=utf-8",
data: JSON.stringify({ value: "Vinay" }),
dataType: "json",
success: function (value) {
alert(value.d);
},
error: function () { alert("Ajax Error"); }
});
};
当我从按钮调用函数时。它显示js警报Ajax错误
我曾尝试用AddCity.ascx/GetMethod替换/DesktopModules/Modules/Admin/City/AddCity.ascx/GetMethod,但仍然不起作用 不能从ASCX usercontrol调用WebMethod-IIS不允许这样做。它必须在ASPX页面中 如果不需要任何安全性,可以创建一个通用处理程序.ASHX文件
public class CityHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var fn = context.Request.QueryString["action"];
var newCity = context.Request.QueryString["city"];
if (fn == "add")
{
// TODO: add city
}
context.Response.ContentType = "text/plain";
context.Response.Write("OK");
}
public bool IsReusable
{
get { return false; }
}
}
然后更改ajax代码:
$.ajax({
type: "GET",
url: "/DesktopModules/Modules/Admin/City/CityHandler.ashx?action=add&city=Vinay",
success: function (value) {
alert(value);
},
error: function () { alert("Ajax Error"); }
});
谢谢,我想这对我有用。谢谢你的信息。
public class CityHandler : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var fn = context.Request.QueryString["action"];
var newCity = context.Request.QueryString["city"];
if (fn == "add")
{
// TODO: add city
}
context.Response.ContentType = "text/plain";
context.Response.Write("OK");
}
public bool IsReusable
{
get { return false; }
}
}
$.ajax({
type: "GET",
url: "/DesktopModules/Modules/Admin/City/CityHandler.ashx?action=add&city=Vinay",
success: function (value) {
alert(value);
},
error: function () { alert("Ajax Error"); }
});