将DataBound ID从aspx传输到后面的代码

时间:2014-06-10 09:28:55

标签: c# asp.net

所以我有一个Unsubscribe页面(Unsubscribe.aspx),通过使用转发器生成三个单选按钮和一个文本字段。

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

Unsubscribe.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
            }

1 个答案:

答案 0 :(得分:0)

尝试添加

  

RUNAT =&#34;服务器&#34;

<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");
    }
}