C# 函数在ajax调用中不能正常工作
我有2个dnn模块。我有一个jQuery Ajax函数,它在$(document.ready()上的B上运行 AJAX调用模块A中的page_load事件C# 函数在ajax调用中不能正常工作,c#,jquery,html,ajax,C#,Jquery,Html,Ajax,我有2个dnn模块。我有一个jQuery Ajax函数,它在$(document.ready()上的B上运行 AJAX调用模块A中的page_load事件 if (Request.Headers["X-OFFICIAL-REQUEST-MINE"] == "TRUE") { AjaxWrapper(Request.Headers["X-ItemString"].ToString()); } AjaxWrapper具有以下代码 protected void Aj
if (Request.Headers["X-OFFICIAL-REQUEST-MINE"] == "TRUE")
{
AjaxWrapper(Request.Headers["X-ItemString"].ToString());
}
AjaxWrapper具有以下代码
protected void AjaxWrapper(string Inputstring)
{
Label testLbl = new Label();
testLbl.Text = Inputstring;
DynamicPlaceHolder.Controls.Add(testLbl);
Inputstring = " This c# call from ajax works!!!";
Response.Clear();
Response.ContentType = "text";
byte[] b = Response.ContentEncoding.GetBytes(Inputstring);
Response.AddHeader("Content-Length", b.Length.ToString());
Response.Write(Inputstring);
Response.Flush();
Response.Close();
Response.End();
return;
}
AjaxWrapper的前3行不起作用,标签也没有显示在屏幕上,但AjaxSuccess功能起作用。向我显示字符串“This c#call from ajax works”是一个警告
下面是来自B的ajax调用
jQuery.ajax({
type: "POST",
async: "false",
url: location.href,
contentType: "application/json; charset=utf-8",
data: (jsonData),
dataType: "text",
success: function (data, textStatus, jqXHR) {
alert("Response" + jqXHR.responseText);
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert("Error: " + textStatus + ", " + errorThrown);
},
beforeSend: function (xhr) {
xhr.setRequestHeader("X-ItemString", $Pids);
xhr.setRequestHeader("X-OFFICIAL-REQUEST-MINE", "TRUE"); // Used to ID as a AJAX Request
},
complete: function (XMLHttpRequest, textStatus) {
}
});
Asp.Net的工作原理是将控件树转换为HTML—以创建HTML页面的方式 当您通过AJAX调用服务器时,您需要知道您的页面加载是在服务器上的一个控制树上运行的,该控制树永远不会传递给客户端 再次重申,服务器上运行的代码不能直接在浏览器中操作DOM 如果直接使用jQuery,则必须考虑从服务器向客户端传递数据或消息。无论消息是HTML、文本还是JSon,您都必须用Javascript处理该消息,从而相应地改变页面的布局 Net是一个非常糟糕的环境来做这种事情。请注意,如果您希望能够使用jQuery,并且希望回发能够反映更改,那么这将非常困难,除非您知道自己在做什么 如果您刚刚开始您的项目,请查看MVC-jQuery在MVC中更有意义,并且有更少的陷阱