如何在GridView Templatefield中获取链接按钮的值

时间:2013-11-30 17:35:09

标签: asp.net

我在GridView中的TemplateField中有一个LinkBut​​ton。 LinkBut​​ton绑定到数据库,显示数据库中保存的时间。我想要的是获取每个linkbutton时间值并将其与当前时间进行比较,如果linkbutton时间小于当前时间,则将其禁用。

任何指针都会有所帮助。 提前谢谢。

 <asp:GridView ID="grdview"  AutoGenerateColumns="false" runat="server" OnRowCommand="grdview_RowCommand">
      <Columns>
           <asp:BoundField DataField="AudiName" DataFormatString="Audi {0}" HeaderText="Audi Name" />
           <asp:TemplateField HeaderText="StartTime">
                <ItemTemplate>
                     <asp:LinkButton ID="lnkmovietime" runat="server" 
                          Text='<%# Eval("StartTime") %>'  
                          CommandName="time" 
                          CommandArgument='<%#Eval("AudiID") %>'>     
                     </asp:LinkButton>
                     <asp:HiddenField runat="server" ID="hf1" Value='<%#Eval("StartTime")%>' />
                </ItemTemplate>
           </asp:TemplateField>
      </Columns>
 </asp:GridView>

2 个答案:

答案 0 :(得分:1)

您可以使用OnRowDataBound事件挂钩数据绑定并禁用该按钮。

<强>表格

<asp:GridView ID="MyGridView"
              OnRowDataBound="MyGridView_RowDataBound"
              runat="server">
....
</asp:GridView>

<强>代码隐藏

protected void MyGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        // Find the button
        var linkButton = (LinkButton) e.Row.FindControl("MyLinkButton");

        // Toggle enabled/disabled based on time
        // Using the button text is probably a bad idea, but is used here for demonstration purposes
        linkButton.Enabled = (Convert.ToDateTime(linkButton.Text) > DateTime.Now);
    }
}

上面的代码尚未经过测试,但应该让您了解如何处理此问题。

答案 1 :(得分:0)

您可以将Enabled属性LinkButton与当前时间进行比较:

 <asp:LinkButton ID="lnkmovietime" runat="server" 
      Text='<%# Eval("StartTime") %>' 
      Enabled = '<%# ((DateTime)Eval("StartTime")< DateTime.Now )? false : true %>'           
      CommandName="time" CommandArgument='<%#Eval("AudiID") %>'>
 </asp:LinkButton>