私はDropDownListを持っていますが、これにはいくつかのオプションがあります。今、ユーザーがいずれかのオプションを選択したときにした後、それは同じページにリダイレクトされており、ボタンをクリックすることがあります。リダイレクト時にDropDownListの状態を記憶しています
protected void Button4_Click(object sender, EventArgs e)
{
Response.Redirect("Graphs.aspx?Selection=" + DropDownList1.SelectedValue + "&Date1=" + TextBox1.Text + "&Date2=" + TextBox2.Text);
}
私はjavascriptのあるFLOTを使用しているため、私は、代わりにポストバックのリダイレクトを使用する必要がありますユーザが他のオプションを選択した場合は、すべてのコードを再度書き込む必要があります。問題は、リダイレクトされたときに何らかの理由でDropDownListの値を覚えていないということです。私はこのコードでこれを試してみました:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.QueryString["Selection"] == "TemperatureOUT")
{
DropDownList1.SelectedIndex = 0;
}
else if (Request.QueryString["Selection"] == "Dewpoint")
{
DropDownList1.SelectedIndex = 1;
}
}
問題は、例えば、ユーザーがDropDownListコントロールから露点を選択し、リダイレクトを引き起こしボタン、上のクリックした場合、新しいURLが持つべき、次のとおりです。
Graphs.aspx?Selection=Dewpoint&...
代わりに、それは言う:
私はPage_Loadからそのコードを削除すると、それは動作しますが、それは前にユーザが選択したものを覚えていません。今私はPage_Loadで何かがなければならないことを知っています。ページがリダイレクトされても、Page_Load getが呼び出されないので、Selection値が表示され、印刷されます。したがって、リダイレクションの問題である必要があります。何らかの理由で、選択した値が設定されていないためです。
のように書くことによって
てみてくださいを求めたものであるように。サーバー側のボタンがリダイレクトだけであるということには、本当の意味はありません。 –