一直想做一些自定义控件,能进行一些UI上的验证.于是就需要使用到嵌入的JS文件.
找了一些资料,找了些例子,发现不行,首先把JS文 件设为嵌入资源是都有说的,
但[assembly: WebResource("SYJ0.dir0.js1.js", "application/x-javascript", PerformSubstitution = true)]中SYJ0的说明就不一样了.有的说是命名空间,有的说是项目名.都不是很正确.
原因分析:这些资料基本上所说都是建立的项目和命名空间相同.所以可能不会遇到问题.然而我建立的项目是不同的项目名.
如:我建立的控件库项目名为WebCtrls,然后修改了项目的默认命名空间为SYJ0.而在代码中的命名空间使用了SYJ...
(有点混乱).
所以使用网上找的一些例子就是运行不了,要么没反应,要么提示出错...
最后解决:
[assembly: WebResource("SYJ0.dir0.js1.js", "application/x-javascript", PerformSubstitution = true)]中SYJ0应该是项目属性窗口的那个默认命名空间名称.
后面跟JS文件的路径.如SYJ0.dir0.js1.js表示,默认命名空间SYJ0下面的dir0目录下的js1.js文件.
当然 this.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "SYJ0.dir0.js1.js");这句也不要写错了.
请注意大小写,没有测试是否区分大小写,还是注意一下.
下面是一完整的控件库项目的例子:
[Class1.cs]
using System;
using System.Web.UI.WebControls;
using System.Web.UI;
[assembly: WebResource("SYJ0.JScript1.js", "application/x-javascript", PerformSubstitution = true)]
[assembly: WebResource("SYJ0.dir0.js1.js", "application/x-javascript", PerformSubstitution = true)]
namespace SYJ
{
public class STextBox : WebControl, INamingContainer
{
protected TextBox textBox = new TextBox();
protected override void OnPreRender(EventArgs e)
{
this.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "SYJ0.JScript1.js");
this.Page.ClientScript.RegisterClientScriptResource(this.GetType(), "SYJ0.dir0.js1.js");
base.OnPreRender(e);
}
protected override void RenderContents(System.Web.UI.HtmlTextWriter writer)
{
this.textBox.Attributes.Add("id", this.ID);
this.textBox.Attributes.Add("onclick", "msg(this);showTime();");
this.textBox.RenderControl(writer);
}
}
}
// JScript1.js
function msg(obj)
{
alert("hello from web control s js file id["+obj.id+"]");
}
// dir0.js1.js
function showTime()
{
alert(new Date());
}
使用方法:
用VS2008建一个解决方案,建立一个默认WEB项目为WebApplication,再建一个库项目.
将库项目的Class1.cs内容换成如上的内容,再在项目下直接建立一个JScript.js文件,再直接建立一个文件夹dir0,在dir0建立一个js1.js文件,内容分别如上所述.
编译一下,然后转到WEB项目的ASPX页面中,此时打开工具箱,应该会显示出我们创建的自定义控件STextBox.直接拖一个到页面,CTRL+F5执行,点击输入框看效果.
相关推荐
总结来说,Asp.net中的自定义打印控件是一种高度定制化的UI元素,它结合了服务器端和客户端技术,提供了一种便捷的方式来处理网页的打印需求。通过深入学习和应用这个控件,开发者可以更高效地构建具备复杂打印功能...
在ASP.NET中,自定义控件是通过继承自`System.Web.UI.WebControls.WebControl`或`System.Web.UI.Control`类,并添加自己的属性、方法和事件来创建的。它们可以像内置控件一样在页面上使用,提供特定的功能或界面元素...
在ASP.NET中,自定义控件是开发人员为了满足特定需求而创建的用户界面元素。它们可以扩展ASP.NET内置控件的功能,或者提供全新的交互体验。这篇文章将详细探讨在自定义控件中处理嵌入脚本、图片和其他资源的一些关键...
Asp.Net WebForm Chart 控件是.NET Framework提供的一种强大的数据可视化工具,用于在Web应用程序中创建各种复杂的图表。它能够帮助开发者将数据转化为易于理解的图形,如柱状图、折线图、饼图、散点图等,适用于...
**自定义控件**是在ASP.NET中为了满足特定需求而创建的控件。相较于标准控件,自定义控件提供了更高的灵活性和定制能力。自定义控件可以是**用户控件**(User Control)或**自定义服务器控件**(Custom Server Control)...
综上所述,ASP.NET中的ComboBox控件在C#和JavaScript的配合下,不仅可以提供丰富的数据绑定功能,还可以通过自定义模板实现图片展示,极大地增强了用户体验。同时,利用JavaScript库可以实现更多客户端交互逻辑,...
下面我们将详细探讨如何在ASP.NET中创建这样的组合控件,并探讨相关的知识点。 1. **Dropdownlist控件**:Dropdownlist是ASP.NET Web Forms中的一个常用控件,它提供了一个下拉式的选项列表。用户可以通过点击下拉...
在ASP.NET中实现WEB在线编辑器,一般会使用富文本编辑器控件,例如TinyMCE、CKEditor或DevExpress的ASPxHtmlEditor等。这些控件提供了丰富的API和自定义选项,可以轻松集成到ASP.NET应用中。开发者可以通过ASP.NET的...
1. **服务器端控件**:在ASP.NET中,可以创建一个自定义控件,扩展`System.Web.UI.WebControls.WebControl`类。在这个控件的`RenderControl`方法中,编写生成`<object>`或`<embed>`标签的代码。控件的属性可以用来...
OWC控件在ASP.NET中的使用,可以为开发者提供一种方便的方式来创建交互式的统计图表,无需依赖复杂的JavaScript库或者第三方插件。以下将详细介绍如何利用OWC控件在ASP.NET中实现统计图表的代码实践。 首先,需要在...
在这个例子中,我们将关注如何在 ASP.NET 中使用第三方控件——Dundas Web Chart 来创建统计图。Dundas 提供了一套功能全面、性能优秀的图表组件,它与 .NET Framework 集成良好,可以无缝嵌入到 ASP.NET 应用程序中...
本项目提供了一个基于ASP.NET和JavaScript的自定义日历控件源码,旨在帮助开发者在.NET环境中创建更加直观、易用的日期选择功能。 ASP.NET是微软开发的一款强大的Web应用框架,它提供了丰富的服务器控件,可以简化...
如何封装JS和CSS文件为服务器端控件---ASP.NET 2.0 我们以封装一个JS的日期控件为列子,将它和服务器的TextBox结合在一起做成一个服务器控件,以达到直接托上去就可以使用的效果。其实很简单,大家共同学习。先看看...
ASP.NET Flash图表控件是一种用于在Web应用中创建动态、交互式图表的工具,它结合了ASP.NET的强大功能和Flash的视觉吸引力。OpenFlashChart是一个流行的开源库,用于生成高质量的图表,它提供了丰富的定制选项,使...
- 工作流可以嵌入到ASP.NET应用程序中,允许设计和执行复杂的业务流程。 6. **ADO.NET Entity Framework** - 提供了一个ORM(对象关系映射)框架,使开发者可以使用对象模型而不是直接操作数据库,简化了数据访问...
17.3 asp.net ajax对服务器控件支持的基类 612 17.3.1 ajax控件支持的基类 612 17.3.2 ajax控件应用示例 623 17.4 本章总结 636 附录a .net 3.5技术教程系列——collection/asp.net ajax/ silverlight/jquery .....
在ASP.NET中,虽然可以直接使用服务器端控件如ASP.NET Calendar,但如果你想要使用JavaScript实现,可以创建一个独立的JS文件,然后在ASPX页面中引用。ASP.NET的Page对象提供了客户端脚本管理方法,如...
在ASP.NET中,数据可以来源于数据库、XML文件或者动态生成的字符串。使用`DataSourceID`属性链接到数据源控件,如SqlDataSource或ObjectDataSource,也可以在代码后面动态设置`ChartData`属性。 5. **生成XML/JSON...