如何从dropdownlist的selecetedchanged事件获取转发器项目中的控件的值,该事件在同一个转发器项目中?

时间:2013-03-01 13:35:17

标签: c# asp.net repeater

<ItemTemplate>
   <tr class="odd gradeX">
      <td>
         <%#Eval("Caption")%>
      </td>
      <td>
         <%#Eval("CreatedBy")%>
      </td>
      <td>
         <%#Eval("CreationDate")%>
      </td>
      <td>
         <%#Eval("Status")%>
      </td>
      <td class="center">
         <div class="controls center">
            <a href="NewsCommentEdit.aspx?mtid =<%#Eval("UserId")%>" title="Güncelle" class="tip">
               <span class="icon12 icomoon-icon-pencil"></span>
            </a>
         </div>
      </td>
      <td>
         <asp:HiddenField runat="server" ID="hdnComment" Value='<%#Eval("NewsCommentId")%>' />
         <asp:DropDownList runat="server" ID="ddlStatus" AutoPostBack="True"  OnSelectedIndexChanged="ddlStatus_Changed">
            <asp:ListItem Text="Onay Bekliyor" Value="0"></asp:ListItem>
            <asp:ListItem Text="Onaylandı" Value="1"></asp:ListItem>
            <asp:ListItem Text="Reddedildi" Value="2"></asp:ListItem>
         </asp:DropDownList>
      </td>
   </tr>
</ItemTemplate>

我想在ddlStatus的选定索引更改事件中获取hdnComment的值。这可能吗?怎么样?

1 个答案:

答案 0 :(得分:3)

    protected void ddlStatus_Changed(object sender, EventArgs e) 
    {
        string value;
        HiddenField comment = ((Control)sender).Parent.FindControl("hdnComment") as HiddenField;
        if (comment != null) 
        {
            value = comment.Value;
        }
    }