私はプログラミングに不慣れで、問題があります。aspxページに2つのボタンがあります。両方のボタンには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);
}
}
[データの取得]ボタンをクリックすると、関連するテキストとともに複数のチェックボックスが生成されます。
いくつかのチェックボックスをクリックしてから、[表示]ボタンをクリックします。これは、正しく機能する場合は、選択したチェックボックスのテキストを1つの文字列に結合して表示する必要があります。
btnShow
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
ここでページプロパティの使用はありますか?
選択したチェックボックスを1つのボタン(GetData)クリックから他のボタン(つまり[表示]ボタン)に渡すセッションを実装する方法をガイドしてください。