如何扩展control的指令,增加属性?

问题描述

<%@ControlLanguage="C#"AutoEventWireup="true"CodeFile="WebUserControl.ascx.cs"Inherits="WebUserControl"%>正常的control指令如上,我想在上面指令中增加一个属性ControlMasterPage,不知有人研究过没有,非常想知道如何实现?

解决方案

解决方案二:
顶一下!
解决方案三:
?
解决方案四:
再顶!
解决方案五:
你可以为WebUserControl类定义增加一个Attribute。
解决方案六:
例如,你可以首先定义一个Attribue:publicclassControlMasterPage{publicstringName{get;set;}publicControlMasterPage(stringname){this.Name=name;}}然后,你的页面上的代码就可以使用它:varx=this.GetType().GetCustomAttributes(typeof(ControlMasterPage),true);if(x.length!=0){varNameOfControlMasterPage=((ControlMasterPage)x[0]).Name;.......
解决方案七:
不是我想要的那个意思。我定义了一个属性ControlMasterPage,和page中MasterPageFile属性一样,动态修改这个值得时候,需要在OnInit之前的事件赋值,才能起作用。所以非常不方便,我想直接修改ascx页面就能实现control的页面样式和布局的修改,就想page页面直接修改aspx页面一样。但是没有找到好办法。
解决方案八:
不明白题意
解决方案九:
[AttributeUsage(Class)]publicclassControlMasterPage:Attribute{......上面写的不正确。引用6楼wenqiangyang的回复:

不是我想要的那个意思。我定义了一个属性ControlMasterPage,和page中MasterPageFile属性一样,动态修改这个值得时候,需要在OnInit之前的事件赋值,才能起作用。所以非常不方便,我想直接修改ascx页面就能实现control的页面样式和布局的修改,就想page页面直接修改aspx页面一样。但是没有找到好办法。

那么你只要给你的WebUserControl类增加一个publicstring属性,在使用这个ascx的地方可以直接属性参数,就跟普通的控件属性一样。至少对于vs2008的ide支持用户控件属性设计。
解决方案十:
普通WebUserControl类的属性,在ascx页面赋值,在控件load时加载时有用,在OnInit的时候不起作用,这个属性只有也page得MasterPageFile属性一样,只有在OnInit的才有用,page的是定义在<%page指令集中的。

时间: 2024-09-22 18:15:10

如何扩展control的指令,增加属性?的相关文章

使用索引服务器 - 增加属性

服务器|索引 增加属性 现在objQuery 对象已经建立起来,在建立起引用它的记录集之前要进行配置.当然,你需要做的基本的事情之一就是建立查询--即在数据库中想要查找什么.这在引入的URL信息中进行--有一个方法是从URL中把所有内容提取出来,自动放在对象中: objQuery.SetQueryFromURL(Request.QueryString) 这样会把所有不同的参数.属性及查询字符串信息都从URL中提取出来,并放在所属的对象中.在表单中作为隐含域建立起来的参数就这样被转化成用于搜索的属

addattribute-dom4j节点增加属性问题

问题描述 dom4j节点增加属性问题 如下为在dom4j的节点中增加一个值为null的属性,为什么用asXML()方法显示不出这个属性 import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentHelper; import org.dom4j.Element; public static void main(String[] args){ try{ Document document = Doc

js删除属性与增加属性详解

一.js属性操作归纳 我们在前端开发过程中会遇到各种各样的操作,其中就会涉及到操作属性,下面我就给大家说出JS几种比较常用属性操作,当然我不会以实例去讲解,只是简要的说说用法. 1.通用属性操作:obj.setAttribute(属性的名字) 2.class操作:obj.className=" "; 3.img的src的操作:imgobj.src=" "; 4.input的值操作:inputobj.value 5.其它 二.js属性操作中需要注意的问题 1.JS中不

Joyent扩展弹性容器基础设施,增加Linux容器原生支持

Joyent与Canonical建立合作伙伴关系,提供了认证和支持的Ubuntu镜像,并且针对Triton容器基础设施提供了在bare metal上本地运行的优化. 加利福尼亚州旧金山 - (Marketwired - 2015年6月18日) - Joyent Inc., 原生容器基础设施技术服务公司,今天宣布了借助Joyent Triton 弹性容器基础设施直接在bare metal上本地运行容器实例,而这会在本周的早些时候全面上市.Joyent 也宣布了和Canonical的合作伙伴关系,面

在asp.net 2.0中结合母板页使用meta标签(扩展@Page指令)

asp.net 介绍母板页是asp.net 2.0中的一个非常强大的特性,但是它却不能提供一个实现最基础的针对搜索引擎优化的方法.如果你想你的web页被搜索引擎收录并提高排名,那么你就需要在每一个页都指定一个title和meta标记.本文将说明如何扩展你的asp.net页,以使得在使用母板页的时候你可以直接在你内容页的@Page指令中指定你的meta标签的描述和meta标签的关键字 背景当你要针对搜索引擎优化你的web页的时候,设置页的title标签和页的meta描述是其中最重要的因素之一.<t

Pentium III处理器的单指令多数据流扩展指令(1)

关键字 : Pentium,处理器,单指令多数据流扩展指令,SSE,指令集 概要 : 随着Intel Pentium III处理器的发布,给程序设计人员又带来了许多新的特性.利用这些新特性,程序员可以为用户创造出更好的产品. Pentium III和Pentium III Xeon(至强处理器)的许多新特性,可以使她能够比Pentium II和Pentium II Xeon处理器有更快的运行速度,这些新特性包括一个处理器序列号(unique processor ID)和新增SSE处理器指令集,这

城域网IPv6过渡技术—Radius扩展属性

在IPv6 城域网改造过程中,AAA服务器除了保持与BRAS通过IPv4 Radius报文交互, 但是需要扩展支持IPv6的扩展.与IPv6相关的Radius属性分为标准属性.过渡技术属性和设备厂商扩展属性.第一类属性:IPv6地址上报属性(标准属性)标准规范RFC3162和RFC4818规定了Radius的IPv6属性.498)this.w idth=498;' onmousewheel = 'javascript:return big(this)' alt="" src="

JavaScript对象属性检查、增加、删除、访问操作实例_javascript技巧

检查属性 var mouse = { "name": "betta", "age": 3, "varieties": "milaoshu" } mouse.hasOwnProperty("name"); // true mouse.hasOwnProperty("sex"); //false 增加属性 定义个对象 dog,然后赋予各种特性,再赋予 color特性,最后

扩展UltraGrid控件实现对所有数据行的全选功能[Source Code下载]

在前面一篇文章中,我通过对三种Infragistics 控件(UltraToolBarManager.UltraGird和UltraListView)进行扩展,以实现对ToolTip样式的定义,今天我来介绍如何采用相同的方式实现另外一个更为常用的功能:在UltraGrid的Header中动态添加CheckBox,从而实现对所有数据行进行全选的功能.[Source Code从这里下载] 一.我们的目标:在UltraGird的选择列的Header添加CheckBox实现对所有数据行的全选  我们现有