asp.net在ajax更新面板之后访问javascript变量
asp.net accessing javascript variables after ajax updatepanel
我正在ASP.NET web项目上使用AJAX来更新页面。我的一些函数返回XML,我希望在页面重新加载后将其嵌入到页面中。这部分是有效的,下面是它在页面顶部的外观示例:
var productXML = "<?xml version='"1.0'"?><ArrayOfProduct xmlns:xsi='"http://www.w3.org/2001/XMLSchema-instance'" xmlns:xsd='"http://www.w3.org/2001/XMLSchema'"><Product><ActualProdID>123</ActualProdID><Name>Test</Name><Description>Test</Description><Edition>Test</Edition><Platform>Test</Platform><Family>Test</Family><Type>Test</Type><DeploymentTypes>Test</DeploymentTypes><BaseActualProdID>Test</BaseActualProdID><Price>0</Price></Product></ArrayOfProduct>";
在本页的后面,我尝试使用XML,但它不起作用。我试着做一些简单的事情,只是扔了一个警报框,看起来像这样:
<script type="text/javascript">
function closeLoading()
{
jQuery('.pleaseWaitPanel').css({ 'display': 'none', 'visibility': 'hidden' });
alert("here");
alert(productXML);
alert("here2");
}
</script>
closeLoading()在内部调用:
window.onload = function () { Sys.WebForms.PageRequestManager.getInstance().add_endRequest(closeLoading); };
它加载jQuery,第一个警报"here"工作得很好。当我去提醒productXML时,什么也没发生。它不会抛出JavaScript错误,我使用的是Firebug。我可以确认XML在页面上。
如有任何帮助,我们将不胜感激!!
从代码片段来看,closeLoading
函数似乎只在window.onload
函数中被调用。这意味着在任何Ajax请求完成后都不会调用它,因为窗口不会被重新加载。
我会尝试将您对Sys.WebForms.PageRequestManager.getInstance().add_endRequest(closeLoading)
的呼叫转移到您关闭服务器端表单标签之前:
<form runat="server">
...
<script>
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(closeLoading);
</script>
</form>
希望这能有所帮助。
var productXML
是ServerSide变量,因此您在客户端脚本中无法访问该变量。
如果你想在javascript函数中使用,你可以这样做:
1) 将结果放入隐藏的文本框中,如
<input type='hidden' value='<%=productXML%>'>
然后简单地获取文本框的值。
相关文章:
- 访问布局信息是否也会导致浏览器重排
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- Javascript,访问一个主要对象模块模式中的每个对象
- 即使在服务器将访问控制允许原点设置为“*”之后,也会收到javascript错误
- 可以't在动态附加CKEDITOR对象之后访问它
- JQuery $(this) 在 ajax POST 之后无法访问
- 在 Jquery Ajax IE 之后访问 getElementsByName 数组
- 在javascript中,在函数名被指向其他地方之后,是否有任何方法可以访问该未命名的函数
- 在循环之后访问for循环计数器是否安全
- Javascript访问被拒绝-can'在iframe中不再使用父级之后的访问开启器
- 如何在“脚本”之后访问已声明的变量数据类型AJAX请求
- 访问第一个子节点之后的子节点
- 在应用xslt样式表之后,我可以使用javascript访问源xml吗?
- JavaScript无法在object.create(baseObject)之后访问相同的对象方法
- REACT如何访问正确的"this"在回调之后
- 访问'x'之后的对象在数组中
- 在transformRespone之后访问元数据的Angular$resource
- asp.net在ajax更新面板之后访问javascript变量
- 如果一个变量是在for循环之前声明的,那么它的值不应该在for循环之后可访问