GridView选择 - 将值传递给另一个表单上的文本框

时间:2017-08-14 12:20:30

标签: c# asp.net gridview

我有一个GridView,其中选择按钮已打开。

<asp:CommandField ShowSelectButton="True" />

我想将行值传递给另一个页面上的TextBoxes。因此,我正在努力进行测试。

我目前正在使用以下代码。

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
    string Property_Name;
    Property_Name = GridView1.SelectedRow.Cells[4].Text;
    Session["Property_Name"] = Property_Name;
    CreateSurvey CS = new CreateSurvey();
    CS.PropDetails();
    Response.Redirect("CreateSurvey.aspx");

这是我的第二页代码(CreateSurvey.aspx)

public void PropDetails()
{
    var Property_Name = Session["Property_Name"];
    Create_PropName.Text = Property_Name.ToString();            
}

&#34; CreateSurvey.aspx&#34;页面打开但Create_PropName TextBox为空。

我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

试试这个 如果你不想使用会话

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
        string Property_Name;
        Property_Name = GridView1.SelectedRow.Cells[4].Text;
        Session["Property_Name"] = Property_Name;
        //you don't need this as you already set session above
        //CreateSurvey CS = new CreateSurvey();
        //CS.PropDetails();
        Response.Redirect("CreateSurvey.aspx");
    }

在接收您时只需要在页面加载中调用以下代码

if(Session["Property_Name"] != null)
   Create_PropName.Text = Session["Property_Name"].ToString();

如果您想使用查询字符串

protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
       Response.Redirect("CreateSurvey.aspx?PropName="+GridView1.SelectedRow.Cells[4].Text);
    }

在第二页加载

if(Request.QueryString["Property_Name"] != null)
   Create_PropName.Text = Request.QueryString["Property_Name"];