我是编程新手,遇到了问题。我在 aspx 页面上有两个按钮。两个按钮都有runat="server"
属性并且在<form runat="server" >
标签内
aspx 代码
<form id="form1" runat="server">
<asp:Button ID="btnGetData" runat="server" onclick="btnGetData_Click" />
<asp:Button ID="btnShow" Text="Send" runat="server" onclick="btnShow_Click" />
</form>
btnGetData
protected void btnGetData_Click(object sender, EventArgs e)
{
headlines = masg.Split('*');
//Response.Write(headlines.Length);
cb = new CheckBox[headlines.Length];
for (int i = 0; i < headlines.Length; i++)
{
cb[i] = new CheckBox();
cb[i].Text = headlines[i];
Literal br = new Literal();
br.Text = "<br/>";
Form.Controls.Add(cb[i]);
Form.Controls.Add(br);
}
}
单击“获取数据”按钮时,会生成多个带有相关文本的复选框。
我单击一些复选框,然后单击显示按钮,如果工作正确,该按钮应将选定的复选框文本组合成单个字符串并显示它。
显示
protected void btnShow_Click(object sender, EventArgs e)
{
for (int i = 0; i < headlines.Length; i++)
{
if (cb[i].Checked)
newmsg += cb[i].Text + '*';
}
Response.Write("<BR><BR><BR>" + newmsg);
}
但是,一旦我单击 GetData 按钮,复选框就会丢失,因为它们不会持续存在,因为 HTTP 是无状态的。我阅读了有关 Viewstate 的信息,但是当涉及大量数据时不建议这样做,因为会导致显着的处理延迟。
另一种方法是使用Session。这里有没有使用IsPostBack
页面属性?
请指导如何实现 Session 以将选定的复选框从一个按钮(GetData)单击传递到其他即显示按钮。