在页面之间传递多个变量并使用它们
我有三个变量,我试图从一个页面传递给另一个:两个checboxlists(只是选中的值)和一个DateTime。在页面之间传递多个变量并使用它们
,我发现了检查的项目是这样的(这仅仅是这些checkboxlists被称为lstUsers之一):
string cblvalues = "";
foreach (ListItem cbitem in lstUsers.Items)
{
if (cbitem.Selected)
{
cblvalues += cbitem.Value + "-";
}
}
cblvalues = cblvalues.Trim('-');
Response.Redirect("Results.aspx?cblvalues=" + cblvalues);
我怎么会通过其他的CheckBoxList和日期时间为“Results.aspx “以及?我见过一些不同的例子,比如Server.Transfer,我不确定哪一个是正确的。
而且使用它们的Results.aspx页面上,将我只是做:
string cblvalues = Request.QueryString["cblvalues"];
只要你喜欢上的查询字符串你可以把尽可能多的价值。 (虽然作为查询字符串得到很长网络服务器最终会加以限制。)在这里,您只需添加一个键/值对:
Response.Redirect("Results.aspx?cblvalues=" + cblvalues);
只需使用一个&
到单独的附加键/值对:
Response.Redirect("Results.aspx?cblvalues=" + cblvalues + "&moreValue=" + moreValues);
如果你得到的地步查询字符串变成荒谬长,你基本上数据的大量传递到下一个页面,那么你正在寻找其他方式来做到这一点。一个简单的选择可能是将值存储在会话状态中,重定向用户,然后从会话状态中提取值。事情如此简单:
3210然后在Results.aspx
你可以得到的值:
var cblValues = Session["cblvalues"];
// etc.
您也可以清除会话值,一旦你得到他们,如果会议没有需要保留携带他们:
Session.Remove("cblvalues");
您可以用&
分隔他们,让您的片段就会像下面通过查询字符串多个值: 然后让cblSecond
成为第二个combobox
;
// Building first value here
foreach (ListItem cbitem in cblSecond.Items)
{
if (cbitem.Selected)
{
cblSecondValues += cbitem.Value + "-";
}
}
Response.Redirect("Results.aspx?cblvalues=" + cblvalues + "&cblSecondValues=" + cblSecondValues);
这样就可以分别访问他们像这样:
string cblvalues = Request.QueryString["cblvalues"];// gives you the first value
string cblSecondValues= Request.QueryString["cblSecondValues"];// gives you the second value
Response.Redirect(String.Format("Results.aspx?value1={0}&value2={1}&value3={2}", Value1, Value2, Value3));
如果你真的想使用的查询字符串,那么你ahouls包括通过他们米以及
Response.Redirect("Results.aspx?cblvalues=" + cblvalues + "&cblvalues1=" + cblvalues + "&datetimemy=" + datetimevalue);
查询字符串的形式像下面
http://server_name/path/aspxfile?field1=value1&field2=value2&field3=value3..&fieldn=valuen
正如其他答复中提到,有很多种方法如使用Session
或cookies
或者也可以揭露那些控制值的公共属性然后在下一页使用Page.PreviousPage
属性,但限制是您必须使用Server.Transfer()
或Server.Execute()
方法中的任一个,而不是Response.Redirect
。
你是否试图让它们在href中的所有查询字符串? – KratosMafia