【问题标题】:Send values from other controls to User Control properties in .aspx page将值从其他控件发送到 .aspx 页面中的用户控件属性
【发布时间】:2009-10-07 03:03:31
【问题描述】:

有没有办法使用标签本身的属性而不是来自后面的代码将值从其他控件(例如“下拉列表的选定值”、“查询字符串中的值”)传递到用户控件?

【问题讨论】:

    标签: asp.net user-controls query-string


    【解决方案1】:

    是的,您只需在演示代码中使用<% %>。您的代码将如下所示:

    <asp:DropDownList id="ddlFoo" runat="server">
        ...
    </asp:DropDownList>
    <asp:TextBox id="txtBar" runat="server" Text='<%# ddlFoo.SelectedValue %>' />
    
    <%-- For query string --%>
    <asp:TextBox id="txtBar" runat="server" 
        Text='<%# Request.QueryString["Key_Value"] %>' />
    

    SO 帖子In ASP.Net, what is the difference between <%= and <%# 很好地列出了您可以使用的不同绑定机制。

    【讨论】:

    • @LFSR 咨询:解析器错误消息:服务器标签不能包含 构造。
    • @LRSR Consulting:我尝试了您的示例,它将 作为值粘贴到文本框中(好像它只是一个字符串)
    • @Brian,那是我的错,我永远不记得使用哪个值;尝试:
    【解决方案2】:

    是的。例如

     <uc1:CompetitionClassification ID="CompetitionClassification" runat="server" OnlyTopFive="True" />
    

    在这种情况下,参数 OnylTopFive 在我的自定义控件的标记内传递。

    然后在我控制的服务器端,我有:

    private bool onlyTopFive;
      public bool OnlyTopFive
        {
            get
            {
                return this.onlyTopFive;
            }
            set
            {
                this.onlyTopFive = value;
            }
        }
    

    【讨论】:

    • 我正在尝试从其他控件传递值,而不是硬编码值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 1970-01-01
    相关资源
    最近更新 更多