Asp.Net 控件开发之资源文件处理
在WEB开发中经常会使用一些JS,IMAGE,CSS等相关数据。在WEB解决方案中经常做为一个文件夹处理。在使用的页面中引用相对路径就可以了。但在控件开发中,就碰到一个问题。如果我的控件需要一个JS文件或是CSS文件或是一个图片怎么办?总不能在控件的DLL文件外再加一个放置需要文件的文件夹。每次用都需要拷贝过去。太麻烦了,也不符合控件的理念。网上有许多讲把用到的东东作为资源文件的方法。偶尔试验了一下。现将过程记录一下:
1。首先将要作为嵌入资源的文件设为编译时嵌入。
2。标记资源
一定要注意命名空间,否则在使用时你会找不到资源。
一般情况下,代码中(如上图)命名空间指定了一个名字,在类库的属性页中却和类库的名字一样。所以当你的类库与命名空间名称不相符时,尤其要注意。
另向大家郑重推荐:Reflector没有用过的赶紧下一个收藏!比M$自带的强多了!网上很多地方都有下的,这里没有发现有放文件的地方,请自行下载!
我就是因为这个问题郁闷了很久。
3。如果资源是图片或其它不需要处理的,这样编译就可以了。如果是JS文件。则在控件中还需进行注册JS的工作。
一般情况下,用资源文件的JS都是功能比较多,很庞大的。如果只有几行还不如直接写在控件里了。所以这种情况下JS文件一般采用在控件所在页进行文件包含方法,也就是“<script src='***.js' type='text/javascript'>.
protected override void OnPreRender(EventArgs e)
{
ClientScriptManager cs = Page.ClientScript;
if (!this.Page.ClientScript.IsClientScriptIncludeRegistered(this.GetType(), "JScript"))
{
this.Page.ClientScript.RegisterClientScriptInclude(this.GetType(),"JScript",this.Page.ClientScript.GetWebResourceUrl(this.GetType(),"GoldWisdom.JScript.js"));
}
base.OnPreRender(e);
这样就实现了预期效果。在控件中只需调用JS文件中的相关内容就可以了。
效果如下:
(JS文件)
(控件)
protected override void Render(HtmlTextWriter writer)
{
writer.Write("<Div Style="\" mce_Style="\""width:" + Width.ToString() + ";height:" + Height.ToString() + ";BorderWidth:2px;Bord
相关文档:
首页:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head ......
此处提供的代码用来实现当asp.net页面中的某个Button被点击后disable掉该页面中所有的Button,从而防止提交延时导致的多次提交。基于之前的onceclickbutton脚本.
//ASP.NET中防止页面多次提交的代码:javascript< script language="javascript"> < !-- function disableOtherSubmit() {
var obj = event.srcElem ......
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
using Sy ......
Boolean fileOK = false;
String path = "D:\\";
//string path = "1.gif";
String fileExtension =
&nbs ......
1. 数据库访问性能优化
数据库的连接和关闭
访问数据库资源需要创建连接、打开连接和关闭连接几个操作。这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源。ASP.NET中提供了连接池(Connection Pool)改善打开和关闭数据库对性能的影响。系统将用户的数据库连接放在连接池中,需要时取出,关闭时收回 ......