我有一个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为空。
我错过了什么吗?
答案 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"];