2011-01-10 2 views
0

연락처 필드가 있습니다. 해당 필드 중 3 개는 데이터베이스의 다른 테이블에서 값으로 드롭 다운됩니다. 예를 들어 연락처에는 부서 테이블에서 가져온 설명을 가져 오는 departmentid에 대한 외래 키가 있습니다. 그러나 편집 및 업데이트를 클릭하면 데이터베이스가 업데이트되지 않습니다. 아무 일도 없었던 것처럼 행동합니다.데이터베이스에 업데이트되지 않는 세부 정보 드롭 다운

편집 : 방금 알아 챘지만 이름을 변경하고 업데이트를 클릭하십시오. EmployerCode를 null로 설정할 수 없다는 오류 메시지가 나타납니다. 나는 데이터베이스가 nullable이 아닌 것으로 설정되어 있음을 알고 있습니다. 하지만 원래 가치가 왜 끌어 당겨지지 않는지 나는 이해하지 못합니다. 연락처를로드하면 세 개의 드롭 다운 모두로드 된 데이터베이스의 값을 갖습니다. 비록 내가이 세 가지 모두가 테이블에있는 첫 번째 항목을 표시하고 연락처에있는 항목이 표시되지는 않지만 볼 수는 있습니다. 그러나 연락처를 편집 할 때 값이로드되지 않고 null 인 것처럼 작동합니다. 여기

<asp:DetailsView ID="detailsViewContact" runat="server" Height="90px" Width="293px" 
DataSourceID="ContactDataSource" AutoGenerateRows="False" 
BackColor="#FFCC66" BorderStyle="None" BorderWidth="0px" CellPadding="3" 
DataKeyNames="ContactID" Font-Bold="True" HorizontalAlign="Center"> 
<CommandRowStyle BackColor="White" BorderColor="White" Font-Bold="True" 
    Font-Size="Large" HorizontalAlign="Center" /> 
<Fields> 
    <asp:BoundField DataField="SSOID" HeaderText="SSOID" 
    SortExpression="SSOID" /> 
    <asp:BoundField DataField="FirstName" HeaderText="FirstName" 
    SortExpression="FirstName" /> 
    <asp:BoundField DataField="Lastname" HeaderText="Lastname" 
    SortExpression="Lastname" /> 
    <asp:BoundField DataField="Address" HeaderText="Address" 
    SortExpression="Address" /> 
    <asp:BoundField DataField="City" HeaderText="City" 
    SortExpression="City" /> 
    <asp:BoundField DataField="State" HeaderText="State" 
    SortExpression="State" /> 
    <asp:BoundField DataField="ZipCode" HeaderText="ZipCode" 
    SortExpression="ZipCode" /> 
    <asp:BoundField DataField="EmailAddress" HeaderText="EmailAddress" 
    SortExpression="EmailAddress" /> 
    <asp:TemplateField HeaderText="AccessRightID" SortExpression="AccessRightID"> 
    <EditItemTemplate> 
     <asp:DropDownList ID="DropDownList2" runat="server" 
     DataSourceID="AccessRightDataSource" DataTextField="AccessRightDescription" 
     DataValueField="AccessRightID"> 
     </asp:DropDownList> 
    </EditItemTemplate> 
    <InsertItemTemplate> 
     <asp:DropDownList ID="DropDownList3" runat="server" 
     DataSourceID="AccessRightDataSource" DataTextField="AccessRightDescription" 
     DataValueField="AccessRightID"> 
     </asp:DropDownList> 
    </InsertItemTemplate> 
    <ItemTemplate> 
     <asp:DropDownList ID="DropDownList10" Enabled="false" runat="server" 
     DataSourceID="AccessRightDataSource" DataTextField="AccessRightDescription" 
     DataValueField="AccessRightID"> 
     </asp:DropDownList> 
    </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="EmployerCode" SortExpression="EmployerCode"> 
    <EditItemTemplate> 
     <asp:DropDownList ID="DropDownList5" runat="server" 
     DataSourceID="EmployerDataSource" DataTextField="EmployerName" 
     DataValueField="EmployerCode"> 
     </asp:DropDownList> 
    </EditItemTemplate> 
    <InsertItemTemplate> 
     <asp:DropDownList ID="DropDownList6" runat="server" 
     DataSourceID="EmployerDataSource" DataTextField="EmployerName" 
     DataValueField="EmployerCode"> 
     </asp:DropDownList> 
    </InsertItemTemplate> 
    <ItemTemplate> 
     <asp:DropDownList ID="DropDownList4" Enabled="false" runat="server" 
     DataSourceID="EmployerDataSource" DataTextField="EmployerName" 
     DataValueField="EmployerCode"> 
     </asp:DropDownList> 
    </ItemTemplate> 
    </asp:TemplateField> 
    <asp:TemplateField HeaderText="DepartmentID" SortExpression="DepartmentID"> 
    <EditItemTemplate> 
     <asp:DropDownList ID="DropDownList8" runat="server" 
     DataSourceID="DepartmentDataSource" DataTextField="Description" 
     DataValueField="DepartmentID"> 
     </asp:DropDownList> 
    </EditItemTemplate> 
    <InsertItemTemplate> 
     <asp:DropDownList ID="DropDownList9" runat="server" 
     DataSourceID="DepartmentDataSource" DataTextField="Description" 
     DataValueField="DepartmentID"> 
     </asp:DropDownList> 
    </InsertItemTemplate> 
    <ItemTemplate> 
     <asp:DropDownList ID="DropDownList7" Enabled="false" runat="server" 
     DataSourceID="DepartmentDataSource" DataTextField="Description" 
     DataValueField="DepartmentID"> 
     </asp:DropDownList> 
    </ItemTemplate> 
    </asp:TemplateField> 
    <asp:CommandField ShowDeleteButton="True" ShowEditButton="True" 
    ShowInsertButton="True" /> 
</Fields> 
내 데이터 소스

<asp:EntityDataSource ID="EmployerDataSource" runat="server" 
ConnectionString="name=WorkStudyEntities" 
DefaultContainerName="WorkStudyEntities" EnableFlattening="False" 
EntitySetName="Employers" EnableUpdate="True"> 

답변

0

것 같습니다있다 어떻게 든 우연이었다. 페이지가 다시 나타나면 제대로 작동합니다.