ASP.NET能不能在原有的控件上添加方法和属性

sujiadong 2004-09-01 04:51:11
我想在原来控件上添加一些方法,这样就可以简化很多代码了。

比如:我想在Datagrid控件上添加一个方法,这个方法有一个URL的参数,作用是每一行都设置一个连接到这个URL地址。

请指教


...全文
120 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
2002pine 2004-09-01
  • 打赏
  • 举报
回复
在aspx中也可以这样去用,首先要加入这个的引用,同dataGrid一样,

Register TagPrefix="cc1" Namespace="webUserWindowExample" Assembly="ClassLibrary1" %>
<cc1:MyDataGrid id="MyDataGrid1" style="Z-INDEX: 102; LEFT: 120px; POSITION: absolute; TOP: 16px"
runat="server">
<Columns>
<asp:TemplateColumn HeaderText="aaaaaa">
<ItemTemplate>
sssss
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</cc1:MyDataGrid>
zhushizu 2004-09-01
  • 打赏
  • 举报
回复
您可以到Google上搜一下呀,这方面的资料还是多的..但一定要有耐心...楼主加油了!!!!!
2002pine 2004-09-01
  • 打赏
  • 举报
回复
//MyDataGrid.cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace webUserWindowExample
{
/// <summary>
/// Summary description for MyDataGrid.
/// </summary>
public class MyDataGrid:System.Web.UI.WebControls.DataGrid
{
private string url;
public string Url
{
get
{
return this.url ;
}
set
{
this.url =value;

}
}
public MyDataGrid()
{
//
// TODO: Add constructor logic here
//
}
protected override void OnItemCreated(DataGridItemEventArgs e)
{

if(e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternatingItem)
{
e.Item.Attributes.Add("onclick","window.open('"+this.url+"')");

}
base.OnItemCreated (e);

}

}
}

然后在其它的页面上

MyDataGrid m=new MyDataGrid();
m.Url ="http://www.csdn.net";
m.DataSource =new string[]{"aaa","bbb"};
m.DataBind();
this.Controls[1].Controls .Add(m);
guxiangdefeng 2004-09-01
  • 打赏
  • 举报
回复
你先建一个WebControlLibrary,删除自带的WebCustomControl
在下面建你命名的WebCustomControl
比如你建的控件是继承DropDownList

Imports System.ComponentModel
Imports System.Web.UI
Imports System.Web.UI.Control
Imports System.Web.UI.WebControls

<DefaultProperty("Text"), ToolboxData _
("<{0}:myDropDownList runat=server></{0}:myDropDownList>")> _
Public Class myDropDownList
Inherits DropDownList

Private mTypeCode As String

#Region "属性"

<Category("data"), Description("my"), DefaultValue("")> _
Public Property TypeCode() As String
Get
Return mTypeCode
End Get
Set(ByVal Value As String)
mTypeCode = Value
End Set
End Property
#End Region

Protected Overrides Sub CreateChildControls()
MyBase.CreateChildControls()
End Sub

Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
MyBase.Render(writer)
End Sub

Public Function FillDropDownList() As Boolean
.......your code
End Function
End Class

TypeCode就是你添加的属性,FillDropDownList就是你添加的方法.
编译后会生成相应的.dll,在你的工程里引用,然后加到你的工具箱里,要用的时候拖到页面上.
自定义控件的内容很多,也很复杂,我也搞不太清.
要么找点专门的教材看看,要么干脆down dll
jijl2001 2004-09-01
  • 打赏
  • 举报
回复
学习
pgwron 2004-09-01
  • 打赏
  • 举报
回复
能力有限,望高手说详细点,来学习学习
雪狐 2004-09-01
  • 打赏
  • 举报
回复
偶是新手,过来学习一下:
偶觉得应该可以写各类,继承你要用的控件,添加自己要用的方法和属性
wangdequan1024 2004-09-01
  • 打赏
  • 举报
回复
关注,学习
goody9807 2004-09-01
  • 打赏
  • 举报
回复
www.webdiyer.com
sujiadong 2004-09-01
  • 打赏
  • 举报
回复
我添加的方法怎么对DATAGRID进行操作呢?

因为在其他地方如果我要对一个DATAGRID进行操作,肯定先要得到这个DATAGRID的名称





sujiadong 2004-09-01
  • 打赏
  • 举报
回复
有没有示例,你们说了我也不明白,我是知道先继承DATAGRID,那继承后怎么做呢

pingnt 2004-09-01
  • 打赏
  • 举报
回复
控件组合好像可以,不过没有试过.
killerliu 2004-09-01
  • 打赏
  • 举报
回复
写个新类,继承自datagrid,然后加入你想要添加的新的属性方法,然后要用的时候就new 一个这样的新类就可以了
yichuan1982 2004-09-01
  • 打赏
  • 举报
回复
自己写一个嘛,我也不太明白你的意思

不方便就自己写

轻松,就这么简单,呵呵
sujiadong 2004-09-01
  • 打赏
  • 举报
回复
能不能给个示例啊!间单说一下就行了
SeeSunSet 2004-09-01
  • 打赏
  • 举报
回复
当然可以啊.你新建一个WEB控件工程,然后继承它,然后想加什么都行.,比如集成翻页功能,查询功能等...
sujiadong 2004-09-01
  • 打赏
  • 举报
回复
UP

62,046

社区成员

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

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

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

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