当前位置: 代码迷 >> ASP.NET >> 关于控件开发(内嵌入JS文件) 欢迎讨论解决思路
  详细解决方案

关于控件开发(内嵌入JS文件) 欢迎讨论解决思路

热度:7003   发布时间:2013-02-25 00:00:00.0
关于控件开发(内嵌入JS文件) 欢迎讨论
不知道有人封装过自己的控件没.
比如使用自己的<xxx:Select ruant="server" id="xxx"/>
比如这是你自己封装的一个控件,里面嵌入了一些JS文件
这个JS可以嵌入一些判断啊 之类

我想知道这个控件从开发倒 使用的过程

如:需要在VS隐藏代码中注册(这是废话- -)
然后定义控件名称 树形等等等

------解决方案--------------------------------------------------------
可以用js方法 方法返回true或者false
在下拉框可以再onchange上调用方法,
textbox可以再 onblue上调用方法

在页面提交的时候 模拟失去焦点事件 只要有返回false的 提示相对应的错误
------解决方案--------------------------------------------------------
控件的封装得看你需要封装成什么样,主要就是定义属性和事件

控件的封装都是用最基本的控件来写一个自己需要的控件,因此只要知道需求就能做了。无非就是属性和事件的定义
------解决方案--------------------------------------------------------
在你的控件文件夹中加入js文件

1.并设置为:嵌入的资源
2.在你的类命名空间中申明资源

[assembly: System.Web.UI.WebResource("Com.WebControl.WebOpenDialog.Resources.ico_closetip.gif", "image/gif")] 
[assembly: System.Web.UI.WebResource("Com.WebControl.WebOpenDialog.Resources.view.gif", "image/gif")]
[assembly: System.Web.UI.WebResource("Com.WebControl.WebOpenDialog.Resources.WebOpenDialog.js", "text/javascript", PerformSubstitution = true)]


然后在控件的OnLoad方法中注册js文件到页面中
例如

string WebOpenDialog = this.Page.ClientScript.GetWebResourceUrl(this.GetType(), "Com.WebControl.WebOpenDialog.Resources.WebOpenDialog.js");
this.Page.ClientScript.RegisterClientScriptInclude("ShowBoxJsPath", WebOpenDialog);

Com.WebControl.WebOpenDialog.Resources.WebOpenDialog.js
说明:
在Com.WebControl命名空间下:有目录:WebOpenDialog.Resources下有个WebOpenDialog.js的文件
被注册到页面上了
页面上就可以用WebOpenDialog.js的文件的方法了。

另外:Com.WebControl.WebOpenDialog.Resources.ico_closetip.gif的url可以被资源文件WebOpenDialog.js调用
方式:在js文件中加入

var imgSrc='<%=WebResource("Com.WebControl.WebOpenDialog.Resources.ico_closetip.gif")%>';

注意:你的图片和js文件都设置为嵌入的资源文件

编译后试用你的控件:
然后看页面中的<script>js块,的js文件代码

------解决方案--------------------------------------------------------
看看自定义服务器控件吧,http://msdn.microsoft.com/zh-cn/library/bb386519.aspx很详细的东西,你的问题肯定解决,这几天正在学习
  相关解决方案