DetailsviewInsertItemTemplateの処理に問題があります。WROXの初心者向けASP.Net4をフォローしています。
テーブルEmployee(EmpId、Name、DoB、Sex、DeptId、Position)を持つdbaseがあります。Detailsviewを使用してこのテーブルに値を挿入しようとしています。
通常の詳細ビューを使用して、すべての値を挿入できます。正常に動作しますが、詳細ビューをテンプレートに変換すると問題が発生します。
私がしたこと?
-DetailsviewのSmartタグで、[フィールドの編集]をクリックしました。EmpIDと追加されたテンプレートフィールドを除くすべての使用可能なフィールドを使用可能なフィールドから削除します。-再びDetailsviewのスマートタグで、[テンプレートの編集]をクリックし、DropDownListで[InsertItemTemplate]を選択しました。-Toolboxの標準コンポーネントを使用して、名前のテキストボックスと、他のフィールドのドロップダウンリストを追加しました。(私はEmpIdを削除していないので、EmpIdは必要ありません)。-マークアップビューの残りの部分は次のとおりです。
登録するには、次の情報を入力してください。名前:
DoB:
性別:
DeptId:
位置:
-詳細ビューのInsertイベントのCSファイルの背後にあるコードは次のとおりです
protected void DetailsView1_ItemInserting1(object sender、DetailsViewInsertEventArgs e){string id = System.Guid.NewGuid()。ToString(); TextBox txt_name =(TextBox)DetailsView1.FindControl( "EmpId"); e.Values ["EmpId"] = id;
DropDownList ddl_month = (DropDownList)DetailsView1.FindControl("DDL_Month");
string month = ddl_month.SelectedValue;
e.Values["DDL_Month"] = month;
DropDownList ddl_day = (DropDownList)DetailsView1.FindControl("DDL_Day");
string day = ddl_day.SelectedValue;
e.Values["DDL_Day"] = day;
DropDownList ddl_year = (DropDownList)DetailsView1.FindControl("DDL_Year");
string year = ddl_year.SelectedValue;
e.Values["DDL_Year"] = year;
DropDownList ddl_sex = (DropDownList)DetailsView1.FindControl("DDL_Sex");
string sex = ddl_sex.SelectedValue;
e.Values["DDL_Sex"] = sex;
DropDownList ddl_pos = (DropDownList)DetailsView1.FindControl("DDL_Pos");
string pos = ddl_pos.SelectedValue;
e.Values["DDL_Pos"] = pos;
DropDownList ddl_deptid = (DropDownList)DetailsView1.FindControl("DDL_DeptId");
string deptid = ddl_deptid.SelectedValue;
e.Values["DDL_DeptId"] = deptid;
}
-生年月日のドロップダウンリストから選択した3つの値を組み合わせて、データベースに追加する方法も教えてください。
ありがとうございました!!!