asp.net两个用户控件在同一个页面传值的问题?

来源:百度知道 编辑:UC知道 时间:2024/05/06 05:58:16
我说个简单的例子吧,就是我在一个用户控件上放个taxbox和button,,在另个用户控件上放个lable,我要实现点击button在lable上显示textbox上的值,该如何实现?
我做的是先给用户控件建立属性,然后传时值放入session,刷新页面获取他的值,可是我觉得这样的做法不对,又不知道该如何解决,高手指导下吧,

发送页这样写:
string str=((TextBox)UserControlID.FindControl("TextBoxID")).Text;
Session["SessionName"]=str;

接收页这样写:
((Label)UserControlID.FindControl("LabelID")).Text=Session["SessionName"].ToString();

注释:UserControlID为在当前页面中你所放置的用户控件的控件ID,TextBoxID和LabelID分别为他们在各自的用户控件中的ID,如果还不懂可以去我的博客给我留言。我会及时答复。

你要为你的第二个用户控件设置一个text的可读可写的属性,然后在你的按钮点击事件中,为这个text属性赋值就可以了。

如果需要在该页面再次提交时还能够保存这个text属性的值,则需要将该值存储到视图状态中,要不然,当页面再次提交后,text里的值有可能会被清空。

你已经给控件建立了属性,点击按钮时直接设置这个属性就行了啊

protected void Button1_Click(object sender, EventArgs e)
{
this.ATBox.Text = ((TextBox)Page.FindControl("B_lab")).Text;
}

直接用JS就好了啊
如果在客户端对server控件进行操作的话
提交验证方式就要改了

直接写个Text属性,返回textbox.text属性的值就行了