zoukankan      html  css  js  c++  java
  • 自定义服务端Script控件支持javascript服务端路径?

    [DataBindingHandler("System.Web.UI.Design.TextDataBindingHandler, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"), DefaultProperty("Text"), AspNetHostingPermission(SecurityAction.LinkDemand, Level = AspNetHostingPermissionLevel.Minimal), AspNetHostingPermission(SecurityAction.InheritanceDemand, Level = AspNetHostingPermissionLevel.Minimal)]
        public class Script : Control
        {
            public string Type
            {
                get;
                set;
            }
    
            public string Src
            {
                get;
                set;
            }
    
            protected override void AddParsedSubObject(object obj)
            {
                if (!(obj is Script))
                {
                    throw new HttpException(string.Format("Script cannot Have Children Of Type {0}.", obj.GetType().Name.ToString(CultureInfo.InvariantCulture)));
                }
                this.Type = ((Script)obj).Type;
                this.Src = ((Script)obj).Src;
            }
    
            protected override ControlCollection CreateControlCollection()
            {
                return new EmptyControlCollection(this);
            }
    
            [EditorBrowsable(EditorBrowsableState.Never)]
            public override void Focus()
            {
                throw new NotSupportedException(string.Format("NoFocusSupport of type {0}.", base.GetType().Name));
            }
    
            protected override void Render(HtmlTextWriter writer)
            {
                string url = string.Empty;
                try
                {
                    url = this.Page.ResolveUrl(this.Src??string.Empty);
                }
                catch (Exception) { }
    
                string text = string.Format("<script type=\"{0}\" src=\"{1}\"></script>", this.Type ?? string.Empty, url);
                writer.Write(text);
            }
        }
    在aspx页面中的使用方法:
    
    <%@ Register Assembly="ContentManagement.Entity" Namespace="ContentManagement.Entity.Aspx" tagprefix="aspx" %>
    
    <aspx:Script runat="server" Type="text/javascript" Src="~/Scripts/jquery-1.4.2.min.js"></aspx:Script>
    <aspx:Script runat="server" Type="text/javascript" Src="~/Scripts/jquery.validate.js"></aspx:Script>
    <aspx:Script runat="server" Type="text/javascript" Src="~/Scripts/jquery.boxy.js"></aspx:Script>

    此乃照猫画虎,通过反编译Litral控件写出来的,不对之处还请指正。

  • 相关阅读:
    Win8 消费者预览版中文版下载地址 官方原版
    Easyui datagrid加载本地Json数据
    myeclipse 8.510.0 安装 svn 方法
    easyui tree使用方法
    安装Oracle 11g r2先决条件检查失败解决方法
    Win8/Win7或XP 双系统安装图文教程
    Oracle存储过程与函数
    MyEclipse 中 使用 TortoiseSVN(1)
    MyEclipse 中 使用 TortoiseSVN(2)
    easyui使用Ajax提交表单,返回Json数据
  • 原文地址:https://www.cnblogs.com/nanfei/p/2931914.html
Copyright © 2011-2022 走看看