2015-04-25 38 views
0

我在GridView的表添加打印按鈕如下在GridView中添加新的一列按鈕和數據綁定到它

<asp:GridView ID="GridView1" runat="server" AllowPaging="True" 
        AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" 
        DataSourceID="SqlDataSource2" 
        onselectedindexchanged="GridView1_SelectedIndexChanged" Width="522px"> 
        <Columns> 
         <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" 
          ReadOnly="True" SortExpression="ID" /> 
         <asp:BoundField DataField="Story_number" HeaderText="Story_number" 
          SortExpression="Story_number" /> 
         <asp:BoundField DataField="Date" HeaderText="Date" SortExpression="Date" /> 
         <asp:BoundField DataField="Memory_card" HeaderText="Memory_card" 
          SortExpression="Memory_card" /> 
         <asp:BoundField DataField="Story_Name" HeaderText="Story_Name" 
          SortExpression="Story_Name" /> 
         <asp:ButtonField ButtonType="Button" Text="print" /> 
        </Columns> 
       </asp:GridView> 

請幫我此按鈕的C#代碼。當按下按鈕時,我需要它重定向到一個頁面(print.aspx)。我一直在嘗試下面的代碼,但它不起作用。提前感謝您的幫助。

Session["id"] = GridView1.SelectedRow.Cells[0].Text; 
Response.Redirect("Print.aspx"); 
+0

問題標題和正文是完全不同的 - 標題說加柱,身體說:如何獲得第一個單元格文本? –

+0

也你在哪裏試着你的代碼的最後兩行? 當你點擊打印按鈕時會發生什麼,它會刷新頁面或其他東西... –

+0

對不起,我感到困惑。我想要的是添加一個打印按鈕到GridView,點擊時創建一個會話變量的選定行的ID並重定向到一個新的網頁 – Gerard

回答

3

相反ButtonField字段,使用模板字段的

<asp:TemplateField> 
    <ItemTemplate> 
     <asp:ImageButton ID="ButtonPrint" runat="server" CssClass="yourCssClassIsNeedIt" OnClick="printRegFunction" 
      CommandArgument='<%# Bind("id") %>' ImageUrl="images/button.png"/> 
    </ItemTemplate> 
</asp:TemplateField> 

服務器代碼或後面的代碼在這裏:

protected void printRegFunction(object sender, ImageClickEventArgs e) 
    { 
     Session["id"] = ((ImageButton)sender).CommandArgument; 
     Response.Redirect("Print.aspx"); 

    } 
+0

謝謝你正是我想要的。 – Gerard

相關問題