我是.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;
答案 0 :(得分:1)
GridViewrow row = GridViewGenre.SelectedRow;
string id = row.Cell[2].Text
cmd.Parameters.AddWithValue(@Genre, id)
取决于您可能需要转换为bool或int等的数据类型?