わかりました、私が達成する必要があることについて、非常に簡潔ではありますが詳細な説明をしようと思います。
まず、従業員オブジェクトを持つ LinqToSQL データ コンテキストが定義されています。次に、検証、挿入、更新などを処理する BLL (従業員の一部) を作成しました。次に、Employee オブジェクトの選択/更新/挿入メソッドにバインドするオブジェクト データ ソースを含む詳細ビューを作成しました。これも良いことです.1つの問題を除いて、データは本来あるべきようにプルされ、更新され、挿入されます. 詳細ビュー内のドロップダウン リストに問題があります。これらは必須フィールドで、null にすることはできません。その制約が削除されると、コードは正常に機能します。
詳細ビューのコード スニペット - 関連情報を示すために省略されたフィールド。
<asp:DetailsView ID="grd_empDetails" runat="server" DataSourceID="empDataSource" DataKeyNames="EmployeeID" DefaultMode="Insert" AutoGenerateRows="false">
<Fields>
<asp:BoundField HeaderText="First Name" DataField="FirstName" />
<asp:TemplateField HeaderText="Type of Employee">
<ItemTemplate>
<asp:DropDownList ID="empType" runat="server" DataValueField="empType" AppendDataBoundItems="true">
<asp:ListItem Text="Full Time" Value="1" />
<asp:ListItem Text="Part Time" Value="2" />
<asp:ListItem Text="Subcontractor or 1099" Value="3" />
<asp:ListItem Text="Intern" Value="4" />
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:CommandField ShowInsertButton="true" ShowCancelButton="true" />
</Fields>
</asp:DetailsView>
insert メソッドが呼び出されると、empType は常に Nothing として返されます (empType はデータベース フィールドです)。
データベースで適切に作成できるように、ドロップダウンリストの値をオブジェクトにアタッチする適切な方法は何ですか? 私の検索のほとんどは、ドロップダウン リストをオブジェクト データ ソースにバインドする方法を教えてくれますが、それは私がする必要があることではありません。これは基本的なドロップダウン リストで、変更されることのない 4 つの項目です。ここで標準の HTML 選択タグだけを使用することは理にかなっていますか、それとも役に立ちますか。
ご覧いただきありがとうございます。さらに情報が必要な場合はお知らせください。