2013-08-30 2 views
0

Я работал над этим некоторое время и понял, что мой DetailView фактически отлично работает сам (я тестировал его на другой странице).DetailsView не работает в js/css tabs

Но когда я разместил его в макете страницы страницы и щелкнул «Правка», она очищает все значения в базе данных с нулевыми значениями при обновлении.

Например вот страница: http://pactlegacy.com/sentinel/employeeprofile.aspx?curEmp=3

Вот DetailsView:

<div id="tab-general" class="tabs-content"> 

          <div class="avatar"> 
           <h3>General Information</h3> 
          </div> 

          <fieldset class="grey-bg"> 
           <legend>Required fields</legend> 

           <div class="colx3-left-double"> 

            <asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px" 
             AutoGenerateRows="False" DataKeyNames="ID" DataSourceID="SqlDataSource1"> 
             <Fields> 
              <asp:CommandField ShowEditButton="True" ButtonType="Button"/> 

              <asp:BoundField DataField="FirstName" HeaderText="First Name" 
               SortExpression="FirstName" /> 
              <asp:BoundField DataField="LastName" HeaderText="Last Name" 
               SortExpression="LastName" /> 
              <asp:BoundField DataField="Email" HeaderText="Email" SortExpression="Email" /> 
              <asp:BoundField DataField="JobID" HeaderText="JobID" SortExpression="JobID" /> 
              <asp:BoundField DataField="SupervisorID" HeaderText="SupervisorID" 
               SortExpression="SupervisorID" /> 
              <asp:BoundField DataField="HireDate" HeaderText="Hire Date" 
               SortExpression="HireDate" /> 
              <asp:BoundField DataField="Status" HeaderText="Status" 
               SortExpression="Status" /> 
              <asp:CommandField ShowEditButton="True" /> 
             </Fields> 
            </asp:DetailsView> 
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
             ConnectionString="<%$ ConnectionStrings:dbConnectionString %>" 
             DeleteCommand="DELETE FROM [Users] WHERE [ID] = @ID" 
             InsertCommand="INSERT INTO [Users] ([ClientID], [UserName], [Password], [FirstName], [LastName], [Email], [JobID], [SupervisorID], [HireDate], [Status]) VALUES (@ClientID, @UserName, @Password, @FirstName, @LastName, @Email, @JobID, @SupervisorID, @HireDate, @Status)" 
             ProviderName="<%$ ConnectionStrings:dbConnectionString.ProviderName %>" 
             SelectCommand="SELECT [ID], [ClientID], [UserName], [Password], [FirstName], [LastName], [Email], [JobID], [SupervisorID], [HireDate], [Status] FROM [Users] WHERE [ID] = @ID" 
             UpdateCommand="UPDATE [Users] SET [ClientID] = @ClientID, [UserName] = @UserName, [Password] = @Password, [FirstName] = @FirstName, [LastName] = @LastName, [Email] = @Email, [JobID] = @JobID, [SupervisorID] = @SupervisorID, [HireDate] = @HireDate, [Status] = @Status WHERE [ID] = @ID"> 
             <SelectParameters> 
              <asp:QueryStringParameter Name="ID" QueryStringField="curEmp" Type="Int64" /> 
             </SelectParameters> 

             <UpdateParameters> 
              <asp:Parameter Name="ClientID" Type="Int64" /> 
              <asp:Parameter Name="UserName" Type="String" /> 
              <asp:Parameter Name="Password" Type="String" /> 
              <asp:Parameter Name="FirstName" Type="String" /> 
              <asp:Parameter Name="LastName" Type="String" /> 
              <asp:Parameter Name="Email" Type="String" /> 
              <asp:Parameter Name="JobID" Type="Double" /> 
              <asp:Parameter Name="SupervisorID" Type="Double" /> 
              <asp:Parameter Name="HireDate" Type="DateTime" /> 
              <asp:Parameter Name="Status" Type="String" /> 
              <asp:Parameter Name="ID" /> 
             </UpdateParameters> 
            </asp:SqlDataSource> 

           </div> 







          </fieldset> 

         </div> 

Кто-нибудь знает, почему это происходит? Что мне нужно изменить, мое обновление DetailsView правильно в моей макете вкладок?

ответ

0

Вам нужно добавить поле ID в DetailsView, как показано ниже:

<asp:BoundField 
     DataField="ID" 
     HeaderText="ID" 
     InsertVisible="False" 
     ReadOnly="True" 
     SortExpression="ID" /> 

Это первичный ключ вам не хватает в DetailsView.

+0

Спасибо, однако, это не изменило проблему, которую я испытываю. Детальный просмотр по-прежнему корректно обновляется, когда на странице он сам по себе, но при размещении в моем макете вкладки все еще обновляется с нулевыми значениями – Cineno28

Смежные вопросы