asp.net – 多个用户控件和JavaScript
发布时间:2020-12-15 20:55:11 所属栏目:asp.Net 来源:网络整理
导读:我在用户控件中包含一个JS文件.主机页面具有用户控件的多个实例. JS文件有一个全局变量,用作JS函数的标志.我需要将此变量的范围限制为用户控件.不幸的是,当我有多个控件实例时,会覆盖变量值. 在这样的情况下,推荐的方法是什么? 解决方法 我建议重构你的代码
我在用户控件中包含一个JS文件.主机页面具有用户控件的多个实例.
JS文件有一个全局变量,用作JS函数的标志.我需要将此变量的范围限制为用户控件.不幸的是,当我有多个控件实例时,会覆盖变量值. 在这样的情况下,推荐的方法是什么? 解决方法
我建议重构你的代码,使所有常见的JS逻辑存储在一个地方,而不是存储在每个UserControl中.这将大大减少页面大小.
您可以将UserControl的id传递给常用的JS方法,以区分UserControl. 对于限制’UserControl’变量范围的问题,您可以存储某种键/值结构以保持您的UserControl特定值 – Key将是UserControl clientID,并且值将是您的变量对此很感兴趣. 例如: var UCFlags = new Object(); //set the flag for UserControl1: UCFlags["UC1"] = true; //set the flag for UserControl2: UCFlags["UC2"] = false; 要访问它们,只需将UserControl的ClientID传递给UCFlags数组: myFlag = UCFlags["UC1"]; 在服务器端,您可以用常量字符串“UC1”或“UC2”替换 <%= this.ClientID %> 像这样: myFlag = UCFlags["<%= this.ClientID %>"]; 您仍然可以使用<%= this.ClientID%>这里的语法虽然JS的大部分都在一个单独的文件中;简单地说 UCFlags["<%= this.ClientID %>"] = value; 在调用嵌入JS文件之前. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – 使用多语言支持的“正确”方式
- 如何使ASP.NET服务器控件获得最短的ID?
- 我心中的ASP.NET Core 新核心对象WebHost(二)
- asp.net – .NET 4.5中的样式包和CSS中的图标
- asp.net-mvc – 我们可以为ASP.NET MVC 5中的角色个性化会话
- 我是否完全误解了ASP.Net AJAX(更新面板)?
- .net – Oxite:你打算用它做什么?
- asp.net – repeater或listview vs concatenated html
- 启动asp.net输出缓存
- asp.net-mvc – ASP.NET MVC的所有可用ActionResults是什么
推荐文章
站长推荐
- 在.NET Core中使用简单的插件化机制
- asp.net-mvc-4 – MVC4 Kendo项目Ajax.BeginForm
- asp.net – 是否需要在web.config中保护连接字符
- asp.net-mvc-4 – 使用web.config中的凭据设置配
- 对ASP.NET Web API的所有请求返回404错误
- asp.net-mvc-4 – Autofac和ASP .Net MVC 4 Web
- asp.net – MVC3客户端验证不稳定/不一致
- asp.net-mvc – 滚动到验证摘要 – ASP.net MVC
- 关于asp.net core数据安全的思考
- asp.net-mvc – 使用Razor DropDownList的Bootst
热点阅读