2011-04-16 129 views
0

我已經在gridview中添加了一個按鈕控件,我想將 重定向到按鈕的單擊事件上的另一個頁面, 並且我想訪問gridview中選定行的值,顯示按鈕 上的其他頁面上的值點擊gridview內的事件,任何人都可以幫我解決這個問題。在gridview中按鈕的單擊事件中編寫代碼

回答

1

這應該是有幫助的:http://msdn.microsoft.com/en-us/library/bb907626.aspx

爲(按索引)首先訪問RowCommand事件中值發現你行:

int index = Convert.ToInt32(e.CommandArgument);

GridViewRow row = MyGridView.Rows[index];

,然後控制其內部擁有它您需要的值:

Label MyLabel= (Label)row.FindControl(MyLabel);

後,所有你需要做的是轉移到你的網頁,並從你的控件與它發送的值(這樣做與查詢字符串):

Server.Transfer("MyPage.aspx?value="+MyLabel.Text)

在這裏你可以閱讀更多有關的GridView RowCommand事件:http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowcommand.aspx

1

您需要添加或者是ButtonField字段或裏面的按鈕模板列,然後您可以將您的代碼添加到RowCommand和使用e.CommandName和e.CommandArgument

要重定向,您可以使用Response.Redirect(地址)

要查看值取決於您想要在程序中執行的值。如果在數據綁定期間可以使用數據項(「列」)。在數據綁定之外,您可以查看所需行的Gridview.Rows集合,然後查看row.Cells(columnNumber).Text以查看值。

0

我們在GridView控件調用,gridview的rowcommand事件的事件中,您可以編寫代碼重定向到使用按鈕另一頁。首先,您必須綁定您想要在名爲commandargument的按鈕屬性中傳遞的值。

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 
{ 
    Response.Redirect("abc.aspx?id=" + e.CommandArgument); 
    //here id means passing the value using querystring to another page. 
} 
0
<asp:GridView ID="GridView1" runat="server"> 
    <Columns> 
     <asp:BoundField HeaderText="ID" DataField="ID" /> 
     <asp:BoundField HeaderText="Name" DataField="fullname" /> 
     <asp:TemplateField HeaderText="Action"> 
      <ItemTemplate> 
       <asp:Button runat="server" ID="btnDelete" Text="Delete" OnClick="btnDelete_Click" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

//這集中當前行此按鈕的謊言。您可以執行服務器控制的所有事件 //而不是按鈕例如LinkBut​​ton,Dropdownlist索引更改...

protected void btnDelete_Click(object sender, EventArgs e) 
    { 


     Button btn = (Button)sender; 
     GridViewRow gvRow = (GridViewRow)btn.NamingContainer; 

     string id = gvRow.Cells[0].Text; 
     string name = gvRow.Cells[1].Text; 
     //use these values in query string or any logic you prefer for cross page posting 
     Response.Redirect("your URL ?id=" + id + "&name=" + name); 

    }