UserControl和Page之间的传值问题~

HDNGO 2008-12-30 10:29:43
逛园子无意看到的,看发飙时间挺早的了,但还挺有意思~~发到这边来共享一下~~

简单归简单,有空了做做,挺有味道的~

PS:大牛就表看了,介个太基础,估计入不了大牛们的眼了~~

又PS:GOOGLE一搜,答案到处都是~~

==========================================================

第一题:
一个Page:PageA.aspx的网页上放有一个TextBox ID为TextBox1和一个Button ID为Button1;
  一个User Control:UcA.ascx的网页上放有一个Label ID为Label1.这个UcA.ascx并拉入到PageA.aspx上。
  在TextBox1输入一个值,并按Button1,然把TextBox1的值传至UcA.ascx并显示于Label1.

第二题:
一个Page:PageA.aspx的网页上放有一个TextBox ID 为TextBox1;
一个User Control:UcA.ascx的网页上放有一个Button ID为Button1和一个Label ID为Label1,这个UcA.ascx并拉入到PageA.aspx上。
  在TextBox1输入一个值,并接UcA.ascx上的Button1,然把TextBox1的值传至UcA.ascx并显示于Label1.

第三题:
一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1;
  一个Page:PageA.aspx的网页上放有一个Button ID为Button1和一个Label ID为Label1;
  然后把这个UcA.ascx并拉入到PageA.aspx上。
  在UcA.ascx的TextBox1输入一个值,点PageA.aspx上的Button1,然后把TextBox1的值传至PageA.aspx并显示于Label1上。

第四题:
一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1和一个Button ID为Button1;
  一个Page:PageA.aspx的网页上放有一个Label ID为Label1;
  然后把这个UcA.ascx拉至PageA.aspx上。
  在UcA.ascx的TextBox1输入一个值,点UCA.ascx上的Button1,然后把TextBox1的值传至PageA.aspx并显示于Label1上。

第五题:
一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1;
  一个Page:PageA.aspx的网页上放有一个Button ID为Button1;
  一个User Control:UcB.ascx的网页上放有一个Label ID为Label1;
  然后UcA.ascx和UcB.ascx都拉至PageA.aspx上;
  然后在UcA.ascx的TextBox1输入一个值,点PageA.aspx页面上的Button1,把TextBox1的值传至UcB.ascx的Label1上。

第六题:
一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1和一个Button ID为Button1;
  一个Page:PageA.aspx;
  一个User Control:UcB.ascx的网页上放有一个Label ID为Label1;
  然后把UcA.ascx和UcB.ascx都拉至PageA.aspx上。
  然后在UcA.ascx的TextBox1输入一个值,点UcA.ascx上的Button1,把TextBox1的值传至UcB.ascx的Label1上。

第七题:
一个User Control:UcA.ascx的网页上放有一个TextBox ID为TextBox1;
  一个Page:PageA.aspx;
  一个User Control:UcB.ascx的网页上放有一个Button ID为Button1和一个Label ID为Label1;
  然后把UcA.ascx和UcB.ascx都拉至PageA.aspx上。
  然后在UcA.ascx的TextBox1输入一个值,点UcB.ascx上的Button1,把TextBox1的值传至UcB.ascx的Label1上。


...全文
688 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
我姓区不姓区 2008-12-31
  • 打赏
  • 举报
回复
Insus.Net的经典7道传值题
阿彪兄 2008-12-31
  • 打赏
  • 举报
回复
findcontrol方法
marvintang 2008-12-31
  • 打赏
  • 举报
回复
mark
龙宜坡 2008-12-31
  • 打赏
  • 举报
回复
mark!
xiaolei1982 2008-12-30
  • 打赏
  • 举报
回复
up
huxuanhui 2008-12-30
  • 打赏
  • 举报
回复
mark 学习
chinaicm 2008-12-30
  • 打赏
  • 举报
回复

第一题
(this.WebUserControl1.FindControl("Label1") as Label).Text = this.TextBox1.Text;

----------------------------------------------------------------------------------------------------------------

第二题
在用户控件里使用事件实现的。
用户控件
public event EventHandler btnClick;

protected void Page_Load(object sender, EventArgs e)
{

}

public virtual void Button1_Click(object sender, EventArgs e)
{
if (btnClick != null)
{
btnClick(sender, e);
}
}
Web页面
protected void Page_Load(object sender, EventArgs e)
{
WebUserControl1.btnClick +=new EventHandler(WebUserControl1_btnClick);
}
protected void WebUserControl1_btnClick(object sender, EventArgs e)
{
(this.WebUserControl1.FindControl("Label1") as Label).Text = this.TextBox1.Text;
}


----------------------------------------------------------------------------------------------------------------


第三题
this.Label1.Text = (this.WebUserControl1.FindControl("TextBox1") as TextBox).Text;

----------------------------------------------------------------------------------------------------------------


第四题
同第二题,在UserControl里加事件。
用户控件
public event EventHandler btnClick;
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
if (btnClick != null)
{
btnClick(sender, e);
}
}
Web页面
protected void Page_Load(object sender, EventArgs e)
{
this.WebUserControl1.btnClick += new EventHandler(WebUserControl1_btnClick);
}

void WebUserControl1_btnClick(object sender, EventArgs e)
{
this.Label1.Text = (this.WebUserControl1.FindControl("TextBox1") as TextBox).Text;
}

----------------------------------------------------------------------------------------------------------------

第五题

(this.WebUserControl2_1.FindControl("Label1") as Label).Text = (this.WebUserControl1.FindControl("TextBox1") as
TextBox).Text;

----------------------------------------------------------------------------------------------------------------

第六题

用户控件事件 + 第五题

----------------------------------------------------------------------------------------------------------------


第七题

同上。
Teng_s2000 2008-12-30
  • 打赏
  • 举报
回复
有意思,看着很累
youjialun 2008-12-30
  • 打赏
  • 举报
回复
直接给最佳答案吧.
wjxluck 2008-12-30
  • 打赏
  • 举报
回复
up
  • 打赏
  • 举报
回复
对第一题的出题思路我要说两句,“然后把TextBox1的值传至UcA.ascx并显示于Label1”这其实是显示了出题者的一些背景设计问题的。我们为什么使用用户控件?为了隔离和解耦。所以,用户控件通常是用来显示一个东西,而对外部隐藏它是用什么控件,隐藏内部如何解析接口参数。而这个问题如果是一个pm出的,它误导了下层的开发者,没有体现利用接口来隔离和给下级开发人员解脱责任的原则(反之就是埋下了让你的程序员把责任归咎为by disign的伏笔)。
BaoWeiCn 2008-12-30
  • 打赏
  • 举报
回复
P M51.COM(去掉空格)是非法词?这么牛
lsd123 2008-12-30
  • 打赏
  • 举报
回复
sxmonsy 2008-12-30
  • 打赏
  • 举报
回复
我是路过的

62,242

社区成员

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

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

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

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