只是一个小问题,因为我无法找到解决问题的答案。
我有一个ASP页面,它将输入发送到数据库然后创建会话。我想知道如何在另一个 aspx页面上返回该会话中的某个值。
page1.aspx.cs [创建会话]
public partial class new_questionnaire : System.Web.UI.Page
{
OscarSQL c;
protected void Page_Load(object sender, EventArgs e)
{
c = new OscarSQL();
} // End Page_Load
////// Button Method //////
protected void NewQnrButton_Click(object sender, EventArgs e)
{
// Check if the input fields are empty.
if (QuestionnaireName.Text == "" || CustomerID.Text == "" || NumberOfQuest.Text == "")
{
Error.Text = "Please enter a name for your questionnaire.";
}
// Parse input values to OscarSQL.
else
{
int testRet = c.InsertQuestionnaire(QuestionnaireName.Text, Int32.Parse(CustomerID.Text), Int32.Parse(NumberOfQuest.Text));
Session["Questionnaire"] = testRet;
Confirm.Text = "Your questionnaire has been named " + QuestionnaireName.Text;
Response.Redirect("~/add_questions.aspx");
}
} // End NewQNRButton_Click
} // End new_questionnaire
Page2.aspx.cs [希望在这里解析值]
namespace OSQARv0._1
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//ReturnQnrName.Text here?
}
}
}
我希望将来自 Page1 的值QuestionnaireName.Text返回到 Page2
上的ReturnQnrName.Text答案 0 :(得分:5)
你没有将QuestionnaireName.Text
放入Page1上的Session,你输入一个整数。如果您需要实际的文本属性,请将其放入会话
Session["theText"] = QuestionnaireName.Text;
然后你可以检索它
string text = (string)Session["theText"];
这揭示了一些关于Session的内容。对象存储的类型为object
,您需要在使用之前将它们转换为正确的类型。例如,要检索放入Session的整数,可以编写
int questionnaire = (int)Session["Questionnaire"];
答案 1 :(得分:1)
你在做什么
Session["Questionnaire"] = testRet;
在Page1上。在Page2上,您可以这样做:
protected void Page_Load(object sender, EventArgs e)
{
string questionnaire = Session["Questionnaire"] as string;
if(!string.IsNullOrEmpty(questionnaire ))
ReturnQnrName.Text =questionnaire ;
}
注意强> 刚刚意识到你在会话中放了一个int,但你似乎想在Session中存储一个文本并检索它。原理是一样的。
答案 2 :(得分:0)
这样做:
string question = Session["Questionnaire"];
if(question=="")
{
//No Value
}
else
{
ReturnQnrName.Text = question;
}
此致
答案 3 :(得分:0)
您可以使用Session [“QuestionnaireName”] = QuestionnaireName.Text;
在第二页中,您可以检索以下值
string QuestionnarireName;
if (Session["QuestionnaireName"] != null)
{
QuestionnarireName = Session["QuestionnaireName"].ToString();
}
或者您也可以放入ViewState。 Passing data between forms