asp.net 如何开发用户控件

快乐无边 2009-05-25 02:05:43
asp.net 如何开发用户控件

...全文
80 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
g375636389 2009-05-25
  • 打赏
  • 举报
回复
添加一个 用户控件 的 页面(WebUserControl1.ascx) 在里面编写代码 这就是 用户控件
newdigitime 2009-05-25
  • 打赏
  • 举报
回复
这个,你先写一个***.ascx 用户控件文件,ascx文件和aspx文件结构基本上是一样的,
主要是将aspx开头的代码<%@ page xxxx %>换成<%@ Control xxxx %>

然后在aspx文件中引入用户控件xyz.ascx,方法是:

<%@ page language="c#" %>
<%@ Register TagPrefix="mycontr" TagName="thecontr" Src="xyz.ascx"%>
<html><body>
<mycontr:thecontr id="abcd" runat="server" />

</body></htmL>
wangxinli_nissan 2009-05-25
  • 打赏
  • 举报
回复
在项目中选择右键的添加新项选项用户控件可添加页面设计和后台代码完成后生成成功,可在工具栏中见到并使用
凤宝儿 2009-05-25
  • 打赏
  • 举报
回复
..........这属于什么问题呢?
wybbhm 2009-05-25
  • 打赏
  • 举报
回复
例、创建一个简单的用户自定义控件,实现登录:
1)、新建一个网站,在项目的右键——添加新项——选择web用户控件,名为:“web55.ascx” 。可以看到它的扩展名为:“.ascx” 。在.ascx页面中,可以看到它的源中没有<HTML>、<BODY>和<FORM>标记,
2)、在这个.ascx页面中,拖入二个texbox控件。并生成页。
3)、在default页面中,选中.ascx,然后进行拖拽将它拖入到default界面中,可以看到它已经是一个整体了。这时我们可以看到不能直接访问texbox1.text了,因为它是一个整体中的一部分,所以在设计这个整体的时候,我们定义一下它的访问方式。
4)、在web55.ascx页面中,在它的代码隐藏页中创建两个方法,输入:
//设置文本框1
public string readsname() //读
{
return this.TextBox1.Text;
}
public void writesname(string username) //写
{
this.TextBox1.Text = username;
}
//设置文本框2
public string readpass() //读
{
return this.TextBox2.Text;
}
public void writepass(string pass) //写
{
this.TextBox2.Text = pass;
}
5)、在web55.ascx页面右键,让它生成页。
6)、在default页面加入两个button控件,在它们的事件中,输入:
protected void Button1_Click(object sender, EventArgs e)
{
Response.Write(this.Web55_1.readsname());
Response.Write("<br>");
Response.Write(this.Web55_1.readpass());
}
protected void Button2_Click(object sender, EventArgs e)
{
this.Web55_1.writesname("hello");
this.Web55_1.writepass("hello");
}
7)、在用户控件的页面中再加入一些控件,再运行时,可以看到这些新加入的控件,也就是说只要在用户控件界面作过改动,就算是已经引用它的地方,也会是跟着一起更改的。也就是只要维护一处,就可以了。刷新页面,就能看见改动了。

也可以使用属性来作:
1、在用户控件中:
//设置文本框1
public string readsname2 //读
{
get
{
return this.TextBox1.Text;
}
}
public string writename2 //写
{
set
{
this.TextBox1.Text = value;
}
}
//设置文本框2
public string readpass2 //读
{
get
{
return this.TextBox2.Text;
}
}
public string writepass2 //写
{
set
{
this.TextBox2.Text = value;
}
}

2、在页面中:
protected void Button3_Click(object sender, EventArgs e)
{
Response.Write(this.Web55_1.readsname2);
Response.Write("<br>");
Response.Write(this.Web55_1.readpass2);
}
protected void Button4_Click(object sender, EventArgs e)
{
this.Web55_1.writename2 = "hello";
this.Web55_1.writepass2 = "hello";
}

够详细了吧!!!
frankonlyfine 2009-05-25
  • 打赏
  • 举报
回复
你是说WebControl还是Render输出的控件?
y82907966 2009-05-25
  • 打赏
  • 举报
回复
用手敲键盘开发.....
uyasq 2009-05-25
  • 打赏
  • 举报
回复
·双线主机 100M/35元/年,免费送数据库(自选MY/MSSQL)
·详情请访问:http://www.515dns.com

62,075

社区成员

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

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

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

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