0

組織から従業員を追加するウィザードがあります。ステップ 1 では、いくつかのコントロールがあり、そのうちの 1 つが EmpID (PK) です。問題は、Datasource (コード ビハインド) からバインドされた DropDownList1 という 1 つのコントロールしかない Step2 で発生します。前のステップの DropDownList1 と EmpID のこの値を、「dbo.Emp_Skills」という別のテーブルに挿入します。

「dbo.Emp_skills」テーブルには 2 つの列があります。

EmpID (外部キー) | スキル ID (外部キー)

実際に保存されていない場合、EmpID の値をこのテーブルに挿入するにはどうすればよいですか? 接続の後に、このように DropDownList の値を挿入するだけです。

cmd.Parameters.AddWithValue("@SkillID", DropDownList1.SelectedValue);

しかし、EmpID をテーブルに挿入するにはどうすればよいでしょうか。EmpID と CertID はどちらも dbo.Emp_Cert の FK です。問題になるでしょうか??

私はこのように Page_Load で ViewState を使用しました-

さて、私はこのような単純なViewStateを使用しました-

 if(ViewState["NameOfUser"] != null)
            NameLabel.Text = ViewState["NameOfUser"].ToString();
        else
            NameLabel.Text = "Not set yet...";

WizardのStep2でLabel1 Controlを使用しました。

protected void Wizard1_NextButtonClick(object sender, WizardNavigationEventArgs e)
        {
            ViewState["NameOfUser"] =  TextBox1.Text;
            NameLabel.Text = TextBox1.Text;

        }

そして、私はそれを挿入していました-

cmd.Parameters.AddWithValue("@EmpID", TextBox1.Text);
cmd.Parameters.AddWithValue("@SkillID", DropDownList1.SelectedValue);

しかし、それは機能していません..

4

1 に答える 1

0

asp.net ウィザード コントロールを使用していると仮定すると、TextBox1 はまだページ上にあり、その値にアクセスできます。

これはうまくいくでしょう。

cmd.Parameters.AddWithValue("@SkillID", DropDownList1.SelectedValue);
cmd.Parameters.AddWithValue("@EmpID", TextBox1.Text);
于 2012-07-28T07:37:45.410 に答える