从gridview中选择行并将该值传递给其他页面

时间:2015-11-03 19:41:27

标签: c# asp.net .net gridview

我是.net和C#

的新手

我早上一直在寻找解决方案,但我仍然找不到它。

我尝试使用Session()将用户在Gridview2上选择的所选项目传递给其他页面。

我认为" //这部分缺失/错误。"我假设这部分我对代码发表评论是错误的。

而且我也不确定我应该使用GridView2_SelectedIndexChanged,我点击了"选择"在设计视图和GridView2_SelectedIndexChanged出现。

那么在Gridview2上选择并将值传递给其他页面的最佳方法是什么。

隐藏复制代码

<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:FleetManagementConnectionString %>" SelectCommand="SELECT [GenreID], [Genre] FROM [Genres] WHERE ([GenreID] = @GenreID)">
                    <SelectParameters>
                        <asp:ControlParameter ControlID="GridViewGenre" Name="GenreID" PropertyName="SelectedValue" Type="Int32" />
                    </SelectParameters>
                </asp:SqlDataSource>




 protected void GridView2_SelectedIndexChanged(object sender, GridViewSelectEventHandler e)
//this part is missing/wrong.     

{


            String Artists = System.Configuration.ConfigurationManager.ConnectionStrings["FleetManagementConnectionString"].ConnectionString;
            System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(Artists);



            SqlCommand cmd = new SqlCommand("Select * from Genres where Genre=@Genre", con);
            cmd.Parameters.AddWithValue("@Genre",GridView2.Rows[e].Cells[2].Text );
                                                 //this part is missing/wrong.


            SqlDataAdapter sda = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            sda.Fill(dt);
            con.Open();
            int i = cmd.ExecuteNonQuery();
            con.Close();



            int GenreId = -1;

1 个答案:

答案 0 :(得分:1)

GridViewrow row = GridViewGenre.SelectedRow;

string id = row.Cell[2].Text
cmd.Parameters.AddWithValue(@Genre, id)

取决于您可能需要转换为bool或int等的数据类型?