2009-10-04 92 views
1

您好我需要幫助在c#中使用Gridview控件實現邏輯。關於ASP.NET Gridview

我有一個gridview,它有很多行。每行都有一個按鈕供用戶點擊。在每個按鈕上單擊我正在更新數據庫中選定的記錄。現在一旦更新了行,我需要隱藏該按鈕以防止僅針對該特定行的反應。
1.如果我用這個

<asp:CommandField ShowEditButton="True" EditText="select" /> 

,我不能讓這個隱藏。 2.如果我用這個

<asp:TemplateField HeaderText="Your Action"> 
    <ItemTemplate> 
    <asp:Button 
     ID="btnAccept" 
     runat="server" 
     Text="Accept" 
     OnClientClick="return confirm('Are you sure you want to Accept this offer?');" 
     onclick="btnAccept_Click" /> 
    </ItemTemplate> 
</asp:TemplateField> 

,我不能讓所選行的索引。

我希望我已經清除了我想問的問題。提前致謝。

回答

3

使用Button控件的屬性CommandArgument指定行用戶點擊:

<asp:TemplateField HeaderText="Your Action"> 
    <ItemTemplate> 
    <asp:Button 
     ID="btnAccept" 
     runat="server" 
     Text="Accept" 
     OnClientClick="return confirm('Are you sure you want to Accept this offer?');" 
     CommandName="Accept" 
     CommandArgument='<%# Eval("RowId") %>' 
     onclick="btnAccept_Click" /> 
    </ItemTemplate> 
</asp:TemplateField> 

在後面的代碼:

void btnAccept_Click(Object sender, CommandEventArgs e) 
{ 
    if (e.CommandName == "Accept") 
    { 
     string rowId = e.CommandArgument; 
    } 
} 
2

繼續對1 Canavars溶液):

void btnAccept_Click(Object sender, CommandEventArgs e) 
{ 
    if (e.CommandName == "Accept") 
    { 
     string rowId = e.CommandArgument; 
     ((Button)sender).Visible = false; 
    } 
}