int p = 0;
int q = 0;
p = 0;
q = 0;
string username = null;
username = Session["user"];
int total = 0;
for (total = 1; total <= 120; total++) {
CheckBox ch = new CheckBox();
ch = Page.FindControl("C" + total);
if (ch.Checked == true & ch.Enabled == true) {
string query = "insert into order_master values('" + username + "','" + drpselectmovie.SelectedValue + "','" + drpselectdate.SelectedValue + "','" + drpselectshow.SelectedValue + "'," + drpselectclass.SelectedValue + ",'" + ch.ID + "'," + drpselectclass.SelectedValue + ")";
SqlClient.SqlCommand cmd = new SqlClient.SqlCommand(query, cn);
cmd.ExecuteNonQuery();
ch.Enabled = false;
if (total <= 72) {
p = p + 1;
} else {
q = q + 1;
}
}
}
int price = 0;
price = p * 180 + q * 120;
txtprice.Text = price.ToString;
Session.Add("tickettotal", txtprice.Text);
cn.Close();
合計がチェックされているchecboxかを決定するための変数のチェックボックスの数ですへ。そのデザインや.aspxコードでは、すべてのチェックボックスIDをC1、C2、C3などに変更します。そのため、「C」+合計がそのIDと同じになるように見つける必要があります。しかし、私はch = Page.FindControl( "C" + total)にエラーがあります。誰もがこれを修正する方法を知っていますか?宣言に誤りがありますか?それともコードに追加するのを忘れたのでしょうか?C# - 暗黙的にタイプを変換できません「System.Web.UI.Control」「System.Web.UI.WebControls.CheckBox」
ありがとうございます!
私はこれを試しましたが、エラーが発生しました***型または名前空間の名前 'WebControls'が見つかりませんでした(使用しているディレクティブまたはアセンブリ参照がありませんか? )***私は 'System.Web.UI.WebControls;を使用していますが、私のファイルの一番上に。 – user808317
@ user808317既に 'using System.Web.UI.WebControls'を持っていれば、その必要はありません。 'CheckBox'として' checkBox'を使用するだけです。なぜなら 'Find'をもっと注意する必要があります。なぜなら' Check'ではなく 'C'で始まる名前で他の' Control'があって、 'null'' ch'を処理するフィルタを外す – Ian
@ user808317ここで' WebForms'を使用していますか? – Ian