.net ASCX帮助传递信息&隐藏Div

好吧,我试图完成这个:当用户点击ascx web用户控件上带有文本boses的按钮时,它首先显示一个隐藏的DIV,这个div包含一个ascx web用户控件。基本上我希望Web用户控件抓取他们在第一个Web用户控件上的框中键入的内容,然后从用户在第一页的文本框中键入的内容应用于SQL搜索。这是可能的还是我需要重新考虑我的策略?我正在使用c#编写SQL语句。     
已邀请:
有可能的。 您可以定义接受文本输入的控件的属性,并使用直接字段访问,变量或会话变量公开值;然后,您可以在新显示的控件中使用
FindControl
,如果找到,则使用现在公开的属性来收集所需的值。 例如,您的输入控件代码隐藏可能如下所示:
partial class MyControl : UserControl
{
    public string MyFieldValue
    {
        get { return MyFieldTextBox.Text; }
    }
}
在下一个控件中,使用它,有点像这样:
partial class MyControl : UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        var myControl = Page.FindControl("MyControlInstanceName") as MyControl;
        if (myControl != null)
        {
            var myFieldValue = myControl.MyFieldValue;
        }
    }
}
    
第二个用户控件是否嵌入在第一个用户控件中? 如果没有,只需在用户控件中添加公共属性,即可在用户控件之间向上提供任何可用内容。这意味着可以从页面级别或包含用户控件访问它们。例如,如果我有UCA,UCB,UCC UCA包含UCB和UCC隐藏。 UCB具有以下特性
public string UserEnteredName
{
   get { return NameTextBox.Text; }
}
UCC具有以下属性和方法
public string UserEnteredName { get; set; }

public BindResults()
{
    UserEnteredLiteral.Text = UserEnteredName;
}
然后用UCA将它连接在一起:
protected MyButton_Click(object sender, EventArgs e)
{
    UCC.UserEnteredName = UCB.UserEnteredName;
... some logic herre.
    UCC.BindResults();
}
如果您的按钮或提交操作存在于UCB中,您还可以从UCB提出可以在UCA中响应的事件。     

要回复问题请先登录注册