2011-06-15 74 views
0

我在我的頁面上有一個GridView,此視圖的單列由按鈕組成。在點擊這些按鈕時,我想要調用一個位於頁面後面的代碼中的方法。我已經嘗試過,GridView的OnClick按鈕和OnRowCommand。但是,我仍然無法從頁面後面的代碼調用該函數。如何從位於GridView的按鈕調用函數?

這是我的GridView。

<asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1" 
    CssClass="formx2" AutoGenerateColumns="False" DataKeyNames="companyName" > 
    <Columns> 
     <asp:TemplateField HeaderText="Düzenle" SortExpression="companyName" 
      HeaderStyle-CssClass="colDept">  
      <ItemTemplate> 
       <asp:Button runat="server" ID="IncreaseButton" Text="Düzenle" 
        CommandName="Select" CommandArgument="something" 
        CssClass="accordionHeader" BorderColor ="White" 
        Onclick="redirect"/> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

背後方法我的代碼,

protected void redirect(object sender, EventArgs e) 
{ 
    TextBox1.Text = "test"; 
} 

幫助將不勝感激,我真的停留在這一點上。

在此先感謝。

+0

代碼,我相信這是onRowCommand不僅僅是RowCommand,除非你只是在你的問題 – Mertis 2011-06-15 13:09:07

+0

出現了拼寫錯誤,我試圖OnRowCommand。抱歉,是我的錯。 – 2011-06-15 13:09:50

+1

如果您想在代碼隱藏(至少受保護)中添加名爲'redirect'和簽名'(Object sender,EventArgs e)'的OnClick處理程序,它肯定會起作用。你有任何的JavaScript錯誤? – 2011-06-15 13:31:20

回答

2

像這樣的事情

<asp:TemplateField HeaderText="Düzenle" SortExpression="companyName" HeaderStyle-CssClass="colDept"> 
<ItemTemplate> 
    <asp:Button ID="IncreaseButton" runat="server" 
    CommandName="Select" 
    CommandArgument="<%# CType(Container,GridViewRow).RowIndex %>" 
    /> 
</ItemTemplate> 
</asp:TemplateField> 

,然後後面

Protected Sub GridView1_RowCommand(ByVal sender As Object, _ 
    ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) 
    If (e.CommandName = "Select") Then 
    // Retrieve the row index stored in the CommandArgument property. 
    Dim index As Integer = Convert.ToInt32(e.CommandArgument) 

    // Retrieve the row that contains the button 

    Dim row As GridViewRow = GridView1.Rows(index) 

    // Add code here 
    End If 
End Sub 
+0

也許嘗試linkBut​​ton? – Mertis 2011-06-15 13:54:21

相關問題