ASP.Net – AJAX UpdatePanel中的Javascript
|
我正在遇到一个问题,从UpdatePanel中的外部 javascript文件运行javascript.我试图让一个在ListView里面工作的颜色选择器. ListView位于UpdatePanel内. 我正在使用this color picker. 这是我把它缩小到: >如果我在UpdatePanel之外的文本框上使用颜色选择器,那么所有的回发都可以很好地工作. 如果你想复制它,只需下载颜色选择器(它是免费的),然后添加到一个网页… <asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<div>
<asp:UpdatePanel ID="panel1" runat="server">
<ContentTemplate>
<asp:TextBox runat="server" ID="textbox" CssClass="color" />
<asp:Button ID="Button1" runat="server" Text="Button" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
当页面加载时,颜色选择器工作正常.当您点击按钮(进行回发)时,颜色选择器将不再工作. 有任何想法吗? 解决方法在异步往返之后,任何启动脚本都不会运行,这可能是AJAX回调后不起作用的原因.颜色选择器可能具有需要在页面加载时执行的功能.我遇到这么多次,我写了一个小的方法来注册我的脚本在代码隐藏,它处理异步和非异步的往返.这是基本纲要: private void RegisterClientStartupScript(string scriptKey,string scriptText)
{
ScriptManager sManager = ScriptManager.GetCurrent(this.Page);
if (sManager != null && sManager.IsInAsyncPostBack)
{
//if a MS AJAX request,use the Scriptmanager class
ScriptManager.RegisterStartupScript(this.Page,this.Page.GetType(),scriptKey,scriptText,true);
}
else
{
//if a standard postback,use the standard ClientScript method
scriptText = string.Concat("Sys.Application.add_load(function(){","});");
this.Page.ClientScript.RegisterStartupScript(this.Page.GetType(),true);
}
}
我实际上烤了上面的一个基页类,所以我正在使用的任何页面都可以调用this.RegisterClientStartupScript(…).要做到这一点,只需创建一个基础页面类,并将其包含在那里(确保标记保护不是私有的,否则您继承的页面类将无法访问它). 使用上述代码,我可以自信地注册客户端脚本,而不管该页面是做回发还是回调.意识到您正在使用外部脚本文件,您可以修改上述方法来注册外部脚本,而不是内联.有关更多详细信息,请参阅ScriptManager课程,因为有几种脚本注册方法… (编辑:日照站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 具有最佳实践的示例N层ASP.NET MVC3应用程
- .NET WebApi jsonapi.org支持
- ASP.NET和System.Diagnostics跟踪 – 我错过了什么,或者这是
- 从app_data中删除文件夹时如何防止asp.net重新编译?
- asp.net-mvc – ie9:调试时出现恼人的弹出:“错误:’__f
- asp.net 上传或下载当文件名包含有特殊字符#的处理
- asp-classic – 如何使用AES在VBScript中进行加密?
- asp.net – 请求URL在IIS 7中无效
- asp.net – Stripe Webhook事件续订订阅
- asp.net-mvc-3 – 应该使用HTTP引用来验证还是令牌验证来防
- asp.net-mvc – 从MVC版本1迁移后,ASP.NET MVC 2
- asp.net – 使用JavaScript重新排列的ListBox元素
- asp.net编程实现删除文件夹及文件夹下文件的方法
- ASP.NET:WebResource.axd调用404错误:如何知道
- asp.net-mvc – 使用Razor视图引擎 – 如何格式化
- 如何在服务器端缓存ASP.NET自定义HttpHandler响应
- ASP.NET十七种正则表达试
- asp.net-web-api – Web API / MVC 6中的安全JSO
- asp.net – 为不同项目中的所有Web应用程序网页添
- 如何在ASP.NET Web应用程序中打开一个SectionGro
