关于自定义控件,如何在编辑状态下获取页面控件的ID?

alf7927 2004-03-16 11:21:00
如果各位使用过验证控件,不难发现,验证控件会把当前页面的控件作为枚举型选项
在属性窗口中显示,以备用户选择应用。现在自定写了一个这种控件,要做如此功能,可否给些思路??比如我做了一个分页控件,在编辑状态下要有提拱选择当前页面被控制的DataGrid功能,请明示。在下不胜感谢。、。。。。
...全文
86 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
chinchy 2004-03-17
  • 打赏
  • 举报
回复
累一个字

http://www.asp.net/Forums/ShowPost.aspx?tabindex=1&PostID=212648
alf7927 2004-03-17
  • 打赏
  • 举报
回复
喷血ing........噗..呜~~~~~~~
alf7927 2004-03-17
  • 打赏
  • 举报
回复
up到喷血........
mynewpc 2004-03-16
  • 打赏
  • 举报
回复
定义属性:
Dim _text1 As Control

<Bindable(True), Category("Appearance"), DefaultValue("")> Property [Tdatagrid]() As WebControls.DataGrid
Get
Return _text1
End Get

Set(ByVal Value As WebControls.DataGrid)
_text1 = Value
End Set
End Property
mynewpc 2004-03-16
  • 打赏
  • 举报
回复
Imports System.ComponentModel
Imports System.Web.UI

<DefaultProperty("Text"), ToolboxData("<{0}:WebCustomControl1 runat=server></{0}:WebCustomControl1>")> Public Class WebCustomControl1
Inherits System.Web.UI.WebControls.WebControl

Dim _text As String

<Bindable(True), Category("Appearance"), DefaultValue("")> Property [Text]() As String
Get
Return _text
End Get

Set(ByVal Value As String)
_text = Value
End Set
End Property

Dim _text1 As Control

<Bindable(True), Category("Appearance"), DefaultValue(""), ListBindable(True)> Property [Tdatagrid]() As WebControls.DataGrid
Get
Return _text1
End Get

Set(ByVal Value As WebControls.DataGrid)
_text1 = Value
End Set
End Property
Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)
output.Write([Text])
End Sub

End Class
chinchy 2004-03-16
  • 打赏
  • 举报
回复

控件:

[
Description("当前的文本框有焦点时按回车触发的按钮"),
TypeConverter(typeof(InvokeControlConverter))
]
public string EnterInvokeControlID
{
get
{
}
set
{
}
}


TypeConverter:

public class InvokeControlConverter : System.ComponentModel.TypeConverter
{
public InvokeControlConverter()
{
}

public override bool GetStandardValuesSupported(ITypeDescriptorContext context)
{
return true;
}

public override StandardValuesCollection GetStandardValues(ITypeDescriptorContext context)
{
System.Collections.ArrayList buttonList=new System.Collections.ArrayList();
foreach(System.ComponentModel.IComponent componet in context.Container.Components)
{
if(componet.GetType().ToString()=="System.Web.UI.WebControls.Button")
{
buttonList.Add(((System.Web.UI.WebControls.Button)componet).ID);
}
}

buttonList.Sort();
return new StandardValuesCollection(buttonList.ToArray());
}

public override bool CanConvertFrom(ITypeDescriptorContext context,Type sourceType)
{
if(sourceType.ToString()=="System.String")
{
return true;
}
else
{
return base.CanConvertFrom(context, sourceType);
}
}

public override object ConvertFrom(ITypeDescriptorContext context,CultureInfo culture,object value)
{
if(value.GetType().ToString()=="System.String")
{
return value;
}
else
{
return base.ConvertFrom(context, culture, value);
}
}


}
alf7927 2004-03-16
  • 打赏
  • 举报
回复
就是在编辑状态下,可以动态的找到当关页面的一些控件作为特定属性的可选项。
SVG 2004-03-16
  • 打赏
  • 举报
回复
当前页面被控制的DataGrid功能

//==>什么意思?
alf7927 2004-03-16
  • 打赏
  • 举报
回复
我up again
alf7927 2004-03-16
  • 打赏
  • 举报
回复
up,没有人来啊
bpy 2004-03-16
  • 打赏
  • 举报
回复
gz
alf7927 2004-03-16
  • 打赏
  • 举报
回复
mynewpc(水中日月)的方法是可以找到控件作为选项的,但是其子选项中会有被控制项的一些属性。但是仅仅需是的是一些ID字串如何做到呢?
alf7927 2004-03-16
  • 打赏
  • 举报
回复
各位可不可以详细点说明啊??
alf7927 2004-03-16
  • 打赏
  • 举报
回复
to edobnet(oоОoоО)
???
athossmth 2004-03-16
  • 打赏
  • 举报
回复
高手,学习。
edobnet 2004-03-16
  • 打赏
  • 举报
回复
验证控件有enable属性的,设为false就不验证了
第1章 服务器控件概述及开发环境部署 .1 1.1 自定义服务器控件 1 1.2 服务器控件在软件开发过程中的作用 1 1.3 在控件开发中提升自己 2 1.4 可继承控件基类介绍 2 1.5 运行一个简单的控件 7 1.5.1 开发一个简单控件 7 1.5.2 部署和运行 11 1.6 控件生命周期 12 1.6.1 概述 12 1.6.2 用代码跟踪控件生命周期过程 14 1.7 本章总结 17 第2章 服务器控件开发中的调试技术 18 2.1 预置代码示例 18 2.2 调试页面服务端代码 19 2.3 服务器控件的调试 20 2.3.1 运行模式下的调试方法 20 2.3.2 设计模式下的调试方法 20 2.4 javascript脚本调试方法 22 2.4.1 调试页面中的javascript脚本(方法一) 22 .2.4.2 调试页面中的javascript脚本(方法二) 23 2.4.3 调试非嵌入式javascript脚本文件 23 2.4.4 调试嵌入式javascript脚本资源文件 24 2.4.5 高效率调试的技巧 24 2.5 ajax library对javascript调试支持 26 2.6 本章总结 26 第3章 从零开始开发服务器控件 27 3.1 选择基类 27 3.2 控件呈现顺序 28 3.3 render呈现控件的几种方式 30 3.3.1 使用htmltextwriter类输出 30 3.3.2 直接输出html标签 32 3.3.3 使用服务器控件的rendercontrol方法 33 3.4 addattributestorender方法 34 3.5 createchildcontrols方法 35 3.6 inamingcontainer接口 36 3.7 实现复合控件 38 3.7.1 createchildcontrols方法 39 3.7.2 childcontrolscreated属性 39 3.7.3 ensurechildcontrols方法 39 3.7.4 recreatechildcontrols方法 39 3.7.5 controls属性 40 3.7.6 hascontrols方法 40 3.7.7 hasevents方法 40 3.7.8 findcontrol方法 41 3.7.9 实现复合控件示例 41 3.8 常用开发技巧 51 3.8.1 designmode属性 51 3.8.2 屏蔽基类控件中的属性 52 3.8.3 page.request.browser属性 53 3.8.4 设置控件id规范 53 3.8.5 增强findcontrol功能 54 3.8.6 映射服务端控件值到客户端 55 3.8.7 禁止派生自compositecontrol的控件创建子控件 56 3.8.8 使用createchildcontrols的注意事项 56 3.8.9 不要误解设计元属性defaultvalue 57 3.8.10 在render方法中利用基类资源 57 3.8.11 条件编译&条件属性 60 3.9 本章总结 61 第4章 服务器控件属性 62 4.1 控件属性的作用 62 4.1.1 系统属性 62 4.1.2 自定义属性 62 4.2 简单属性 63 4.3 属性的设计时特性 64 4.4 复杂属性 67 4.4.1 概述 67 4.4.2 复杂属性的几种标记形式 67 4.4.3 深入研究——复杂属性分析器 79 4.5 深入研究——定制自己的属性编辑器 85 4.5.1 系统属性编辑器 85 4.5.2 定制属性编辑器 91 4.6 类型转换器 126 4.6.1 系统类型转换器 126 4.6.2 定制自己的类型转换器 128 4.7 实现自定义属性 138 4.8 本章总结 145 第5章 事件和数据回发机制 146 5.1 控件事件和数据回发概述 146 5.1.1 事件及其意义 146 5.1.2 数据回发机制 147 5.2 事件和数据回发机制的实现 148 5.2.1 客户端回传事件接口ipostbackeventhandler 148 5.2.2 客户端回发/回调揭密 150 5.2.3 回传数据处理接口ipostbackdatahandler 153 5.2.4 正确处理继承基类中控件的事件 159 5.2.5 扩展kingtextbox控件功能(kingtextboxcanpostevent控件) 161 5.3 复合控件的事件处理机制

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧