在ASP中分配外部JavaScript变量.使用Ajax加载的.NET用户控件
Assign an outside JavaScript variable inside a ASP.NET user control that is loaded using Ajax
我有一个用户控件,它分配一个JavaScript变量,该变量定义在另一个脚本文件中。此用户控件由ASP. exe程序编译。. NET通用处理程序转换为HTML,然后通过JQuery Ajax将其标记粘贴到指定的容器内。问题是分配脚本没有与编译后的用户控件HTML粘贴在一起。这是我的JavaScript代码,它驻留在JavaScript文件中:
var xyz;
function initEnvironment(){
$.ajax({
url: handlerURL,
type: "POST",
data: JSON.stringify(
{
XSRFToken: xsrf_token,
Data: ajaxData
})
,
dataType: "json",
cache: true,
async: IsAjaxAsync,
beforeSend: null,
success: function (data) {
$('#containerDiv').html(data); //this must contain assignment statement for xyz
alert(xyz); //xyz is null here
}
});
}
这是用户控制c#代码,应该分配变量:
Literal1.Text = litHtml + @"<script type='text/javascript'>
xyz = " + xyz + ";</script>";
litHtml
包含一些成功粘贴到容器内的HTML代码,但连接的脚本代码没有粘贴。原因是什么呢?
xyz
在JavaScript端是一个JSON对象
不要使用script标记的文字来设置xyz,而是尝试使用RegisterStartup脚本来执行将设置它的函数。你可能需要解码和编码json对象。
服务器端ClientScriptManager cs = Page.ClientScript;
cs.RegisterStartupScript(this.GetType(), "SetXYZ", "SetXYZ(" + xyz + ")");
客户端function SetXYZ(xyzVal)
{
xyz = xyzVal;
}
你也可以这样做
cs.RegisterStartupScript(this.GetType(), "SetXYZ", @"<script type='text/javascript'>
xyz = " + xyz + ";</script>");
相关文章:
- 如何更改jquerymobile中默认的加载ajax加载程序gif
- 无法在 IE6 和 IE7 上加载 ajax
- 页面刷新后重新加载 ajax 检索到的数据
- 清理在加载 Ajax 内容时添加的 CSS
- jquery选项卡加载Ajax内容
- Grails:多个加载ajax调用,但只有一个打印到控制台
- 如何检测通过JSON数据引用的图像何时加载AJAX
- 加载ajax数据时出现jVectorMap问题
- JQuery在加载ajax时阻止链接工作
- 如何在不重新加载ajax的情况下在datatable上.draw()或添加行
- 替换超链接默认操作以加载 AJAX 请求
- 高图表不使用加载 ajax 的数组进行渲染
- 带有 OnClick 的 jQuery 链接标记 href 需要单击两次才能加载 AJAX
- 悬停两次以加载 ajax
- 获取加载 ajax 的文档信息
- 使用 Jquery 在 AJAX 内部加载 AJAX
- 为什么当页面加载 AJAX 时我的 URL 之间没有空格
- 在当前页面中加载一个新的谷歌地图,加载AJAX
- 当滚动达到 80% 时加载 ajax
- 图像滑块未加载 Ajax 请求