将绑定ID从aspx传输到代码隐藏

本文关键字:代码 隐藏 传输 aspx 绑定 ID | 更新日期: 2023-09-27 18:07:59

我有一个退订页面(Unsubscribe.aspx),它通过使用中继器生成三个单选按钮和一个文本字段。

单选按钮的id来自数据绑定,我需要在代码页中使用这些id,但我似乎无法让它识别此绑定的存在。

退订。Aspx是这样的:

                    <asp:Repeater ID="rptReasons" runat="server">
                        <HeaderTemplate>
                            <table>
                        </HeaderTemplate>
                        <ItemTemplate>
                            <div>
                                <div class="col-lg-12">
                                    <label class="radio-custom">
                                        <input id='rbReason<%# DataBinder.Eval(Container, "DataItem.ID")%>' type="radio" name="rbReason" value='<%# DataBinder.Eval(Container, "DataItem.ID")%>'>
                                        <i class="fa fa-circle-o"></i>
                                        <label for='rbReason<%# DataBinder.Eval(Container, "DataItem.ID")%>'><%# DataBinder.Eval(Container, "DataItem.Explanation")%></label>
                                    </label>
                                    <%# (DataBinder.Eval(Container.DataItem, "ReasonType").ToString() == "OTH") ? "<input class='form-control m-t m-l-n-md' name='txtComment' type='text' maxlength='100' style='width:300px;' />" : "" %>
                                </div>
                            </div>
                        </ItemTemplate>
                        <FooterTemplate>
                            </table>
                        </FooterTemplate>
                    </asp:Repeater>

这就是我想要达到的行为:

            if (DataItem.ID == checked )
            {
                disable the text area
            }

将绑定ID从aspx传输到代码隐藏

尝试添加

runat = " server "

<input runat="server" id='rbReason<%# DataBinder.Eval(Container, "DataItem.ID")%>' type="radio" name="rbReason" value='<%# DataBinder.Eval(Container, "DataItem.ID")%>'>

之后你需要找到控制事件

protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
    if (e.Item.ItemType == ListItemType.Item)
    {
        Label lbl = (Label)e.Item.FindControl("Label1");
        LinkButton link = (LinkButton)e.Item.FindControl("LinkButton1");
        RadioButton rdbtn = (RadioButton)e.Item.FindControl("control_id");
    }
}