繁体   English   中英

将值从Page传递到UserControl

[英]Passing value from Page to UserControl

美好的一天。 我在webform和UserControl之间传递数据时遇到麻烦。

我有webform webform1.aspx。 而且我有一个组件GridView1。 我也有UserControl-grdControl.ascx。

在webform1.aspx中,我提到了UserControl:

<uc1:grdcontrol runat="server" id="grdControl" />

而且webform1.aspx.cs包含一个事件

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
  {
     grdControl.SelectedValue = GridView1.SelectedValue.ToString();
  }

反过来,UserControl grdControl.ascx.cs包含以下代码:

private string _selectedValue;        
public string SelectedValue         
{            
  get { return _selectedValue; }            
  set { _selectedValue = value; }
}

在grdControl.ascx中,我使用label,并尝试获取值SelectedValue并将其用作Label1的文本。

<asp:Label ID="Label2" runat="server" Text='<%# SelectedValue%>' ></asp:Label>

但是是无法正常工作。 在网页上,我什么也看不到。

在后面代码的PreRender事件中设置标签的值应该可以解决该问题。

我以为GridView1_SelectedIndexChanged将在内部网格控件的Page_Load事件之后被调用,这就是为什么该值为空的原因,因为您试图在页面本身中进行设置,并且发生在内部控件的Pre_init函数中。 我认为此时不会设置SelectedValue。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM