2011-10-04 70 views
1

我得到以下「數據綁定方法如Eval(),XPath()和綁定()只能在數據綁定控件的上下文中使用。錯誤。我怎樣才能避免這個錯誤?數據網格與編輯選項錯誤點擊編輯時

這是我從網格視圖編輯數據代碼:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> 


<asp:Panel ID="Panel1" runat="server" ScrollBars="Auto" Width="950px"> 
<asp:Label ID="lblMessage" runat="Server" ForeColor="Red"></asp:Label> 

     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 

    CellPadding="2" 

    DataKeyNames="DOC_id" ForeColor="Black" OnRowCancelingEdit="GridView1_RowCancelingEdit" 

OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing" 
     OnRowUpdating="GridView1_RowUpdating" 
     onrowcommand="GridView1_AddRow" BackColor="LightGoldenrodYellow" 
     BorderColor="Tan" BorderWidth="1px" Height="392px" ShowFooter="True"> 

    <FooterStyle BackColor="Tan" /> 
      <AlternatingRowStyle BackColor="pink" /> 
    <Columns> 
    <asp:templatefield showheader="False"> 
      <edititemtemplate> 
       <asp:linkbutton causesvalidation="True" commandname="Update" 
    id="LinkButton1" runat="server" text="Update"></asp:linkbutton> 
       <asp:linkbutton causesvalidation="False" commandname="Cancel" 
    id="LinkButton2" runat="server" text="Cancel"></asp:linkbutton> 

      </edititemtemplate> 
      <footertemplate> 
       <asp:linkbutton commandname="AddNew" id="AddNew" runat="server">Add 
    New</asp:linkbutton> 
      </footertemplate> 
      <itemtemplate> 
       <asp:linkbutton causesvalidation="False" commandname="Edit" id="LinkButton1" 
    runat="server" text="Edit"></asp:linkbutton> 
      </itemtemplate> 
     </asp:templatefield> 
     <asp:TemplateField HeaderText="Delete?"> 
        <ItemTemplate> 
         <span onclick="return confirm('Are you sure to Delete the 
    record?')"> 
         <asp:LinkButton ID="lnkB" runat="Server" Text="Delete" 
    CommandName="Delete"></asp:LinkButton> 
         </span> 
         </ItemTemplate> 
         </asp:TemplateField> 
     <asp:TemplateField HeaderText="DOC_id"> 
      <EditItemTemplate> 
       <asp:Label ID="Label1" runat="server" Text='<%# Eval("DOC_id") %>'> 
    </asp:Label> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox22" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator22" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox22"> 
    </asp:RequiredFieldValidator> 

      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label1" runat="server" Text='<%# Bind("DOC_id") %>'> 
</asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_Type"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("Dr_Type") %>'> 
</asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox1"> 
    </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox1" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator1" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox1">  
    </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label2" runat="server" Text='<%# Bind("Dr_Type") %>'> 
    </asp:Label> 

      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_Title"> 
      <EditItemTemplate> 
      <asp:DropDownList ID="TextBox2" runat="server" selectedvalue='<%#  
Bind("Dr_Title") %>'> 
       <asp:ListItem Selected="True"></asp:ListItem> 
       <asp:ListItem>Mr.</asp:ListItem> 
       <asp:ListItem>Mrs.</asp:ListItem> 
       <asp:ListItem>Ms.</asp:ListItem> 
       <asp:ListItem>Fr.</asp:ListItem> 
       <asp:ListItem>Sr.</asp:ListItem> 
       <asp:ListItem>Rev.</asp:ListItem> 
       <asp:ListItem>Dr.</asp:ListItem> 
      </asp:DropDownList> 

       <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox2"> 
    </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:DropDownList ID="NewTextBox2" runat="server" > 
       <asp:ListItem Selected="True"></asp:ListItem> 
       <asp:ListItem>Mr.</asp:ListItem> 
       <asp:ListItem>Mrs.</asp:ListItem> 
       <asp:ListItem>Ms.</asp:ListItem> 
       <asp:ListItem>Fr.</asp:ListItem> 
       <asp:ListItem>Sr.</asp:ListItem> 
       <asp:ListItem>Rev.</asp:ListItem> 
       <asp:ListItem>Dr.</asp:ListItem> 
      </asp:DropDownList> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator2" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox2"> 
     </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label3" runat="server" Text='<%# Bind("Dr_Title") %>'> 
    </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_FirstName"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("Dr_FirstName") 
    %>'></asp:TextBox> 
      <asp:RequiredFieldValidator ID="RequiredFieldValidator3" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox3"> 
    </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox3" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator3" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox3"> 
     </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label4" runat="server" Text='<%# Bind("Dr_FirstName") %>'> 
    </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_MiddleName"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox4" runat="server" Text='<%# Bind("Dr_MiddleName") 
    %>'></asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox4"> 
    </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox4" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator4" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox4"> 
    </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label5" runat="server" Text='<%# Bind("Dr_MiddleName") %>'> 
    </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_LastName"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox5" runat="server" Text='<%# Bind("Dr_LastName") %>'> 
    </asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator5" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox5"> 
    </asp:RequiredFieldValidator> 

      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox5" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator5" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox5"> 
    </asp:RequiredFieldValidator> 

      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label6" runat="server" Text='<%# Bind("Dr_LastName") %>'> 
    </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_Suffix"> 
      <EditItemTemplate> 
      <asp:DropDownList ID="TextBox6" runat="server" selectedvalue='<%# 
     Bind("Dr_Suffix") %>'> 
       <asp:ListItem Selected="True"></asp:ListItem> 
       <asp:ListItem>Sr</asp:ListItem> 
       <asp:ListItem>Jr</asp:ListItem> 
       <asp:ListItem>III</asp:ListItem> 
       <asp:ListItem>IV</asp:ListItem> 
       <asp:ListItem>DMD</asp:ListItem> 
       <asp:ListItem>DO</asp:ListItem> 
       <asp:ListItem>DDS</asp:ListItem> 
       <asp:ListItem>MD</asp:ListItem> 
       <asp:ListItem>PHD</asp:ListItem> 
       <asp:ListItem>DVM</asp:ListItem> 
       <asp:ListItem>Esq</asp:ListItem> 
       <asp:ListItem>Other</asp:ListItem> 
      </asp:DropDownList> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" 

        ErrorMessage="*" ControlToValidate="TextBox6"> 
    </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:DropDownList ID="NewTextBox6" runat="server"> 
       <asp:ListItem Selected="True"></asp:ListItem> 
       <asp:ListItem>Sr</asp:ListItem> 
       <asp:ListItem>Jr</asp:ListItem> 
       <asp:ListItem>III</asp:ListItem> 
       <asp:ListItem>IV</asp:ListItem> 
       <asp:ListItem>DMD</asp:ListItem> 
       <asp:ListItem>DO</asp:ListItem> 
       <asp:ListItem>DDS</asp:ListItem> 
       <asp:ListItem>MD</asp:ListItem> 
       <asp:ListItem>PHD</asp:ListItem> 
       <asp:ListItem>DVM</asp:ListItem> 
       <asp:ListItem>Esq</asp:ListItem> 
       <asp:ListItem>Other</asp:ListItem> 
      </asp:DropDownList> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator6" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox6"> 
     </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label7" runat="server" Text='<%# Bind("Dr_Suffix") %>'> 
    </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_Degree"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox7" runat="server" Text='<%# Bind("Dr_Degree") %>'> 
    </asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator7" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox7"> 
     </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox7" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator7" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox7"> 
     </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label8" runat="server" Text='<%# Bind("Dr_Degree") %>'> 
     </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_PreferredUsername"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox8" runat="server" Text='<%# 
     Bind("Dr_PreferredUsername") %>'></asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator8" runat="server" 

        ErrorMessage="*" ControlToValidate="TextBox8"> 
    </asp:RequiredFieldValidator> 

      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox8" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator8" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox8"> 
    </asp:RequiredFieldValidator> 

      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label9" runat="server" Text='<%# Bind("Dr_PreferredUsername") 
     %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_ContactNumber"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox9" runat="server" Text='<%# Bind("Dr_ContactNumber") 
    %>'></asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator9" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox9"> 
     </asp:RequiredFieldValidator> 
        <asp:RegularExpressionValidator ID="RegularExpressionValidator3" 
    runat="server" 
      ControlToValidate="TextBox9" 
      ErrorMessage="Invalid Contact Number....!!" ForeColor="Red" 
      ValidationExpression="^[9,8,7][0-9]{9}$"></asp:RegularExpressionValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox9" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator9" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox9"> 
     </asp:RequiredFieldValidator> 
        <asp:RegularExpressionValidator ID="RegularExpressionValidator4" 
     runat="server" 
      ControlToValidate="NewTextBox9" 
      ErrorMessage="Invalid Contact Number....!!" ForeColor="Red" 
      ValidationExpression="^[9,8,7][0-9]{9}$"></asp:RegularExpressionValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label10" runat="server" Text='<%# Bind("Dr_ContactNumber") 
     %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_FaxNumber"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox10" runat="server" Text='<%# Bind("Dr_FaxNumber") 
      %>'></asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator10" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox10"> 
      </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox10" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator10" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox10"> 
     </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label11" runat="server" Text='<%# Bind("Dr_FaxNumber") %>'> 
     </asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_EmailAddress"> 
      <EditItemTemplate> 
       <asp:TextBox ID="TextBox11" runat="server" Text='<%# Bind("Dr_EmailAddress") 
      %>'></asp:TextBox> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator11" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox11"> 
    </asp:RequiredFieldValidator> 
        <asp:RegularExpressionValidator ID="RegularExpressionValidator5" 
     runat="server" 
       ControlToValidate="TextBox11" ErrorMessage="Invalid Email ID....!!" 
     ForeColor="Red" 
       ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"> 
      </asp:RegularExpressionValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
      <asp:TextBox ID="NewTextBox11" runat="server"></asp:TextBox> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator11" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox11"> 
     </asp:RequiredFieldValidator> 
        <asp:RegularExpressionValidator ID="RegularExpressionValidator6" 
     runat="server" 
       ControlToValidate="NewTextBox11" ErrorMessage="Invalid Email ID....!!" 
     ForeColor="Red" 
       ValidationExpression="\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*"> 
     </asp:RegularExpressionValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label12" runat="server" Text='<%# Bind("Dr_EmailAddress") 
     %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField HeaderText="Dr_SpecialtyArea"> 
      <EditItemTemplate> 
       <asp:DropDownList ID="TextBox12" runat="server" selectedvalue='<%# 
     Bind("Dr_SpecialtyArea") %>' 
       DataSourceID="SqlDataSource3" DataTextField="Speciality" 
       DataValueField="Speciality"> 
      </asp:DropDownList> 
      <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
       ConnectionString="<%$ ConnectionStrings:DBCS %>" 
       SelectCommand="SELECT [Speciality] FROM [Doc_Speciality]"> 
      </asp:SqlDataSource> 
       <asp:RequiredFieldValidator ID="RequiredFieldValidator12" runat="server" 
        ErrorMessage="*" ControlToValidate="TextBox12"> 
     </asp:RequiredFieldValidator> 
      </EditItemTemplate> 
      <FooterTemplate> 
       <asp:DropDownList ID="NewTextBox12" runat="server" 
       DataSourceID="SqlDataSource3" DataTextField="Speciality" 
       DataValueField="Speciality"> 
      </asp:DropDownList> 
      <asp:SqlDataSource ID="SqlDataSource3" runat="server" 
       ConnectionString="<%$ ConnectionStrings:DBCS %>" 
       SelectCommand="SELECT [Speciality] FROM [Doc_Speciality]"> 
      </asp:SqlDataSource> 
      <asp:RequiredFieldValidator ID="NewRequiredFieldValidator12" runat="server" 
        ErrorMessage="*" ControlToValidate="NewTextBox12"> 
      </asp:RequiredFieldValidator> 
      </FooterTemplate> 
      <ItemTemplate> 
       <asp:Label ID="Label13" runat="server" Text='<%# Bind("Dr_SpecialtyArea") 
     %>'></asp:Label> 
      </ItemTemplate> 
     </asp:TemplateField> 

<SelectedRowStyle BackColor="DarkSlateBlue" ForeColor="GhostWhite" /> 

<PagerStyle BackColor="PaleGoldenrod" ForeColor="DarkSlateBlue" HorizontalAlign="Center" /> 

<HeaderStyle BackColor="Tan" Font-Bold="True" /> 

      <SortedAscendingCellStyle BackColor="#FAFAE7" /> 
      <SortedAscendingHeaderStyle BackColor="#DAC09E" /> 
      <SortedDescendingCellStyle BackColor="#E1DB9C" /> 
      <SortedDescendingHeaderStyle BackColor="#C2A47B" /> 
</asp:GridView> 

</asp:Panel> 
<asp:LinkButton ID="AddNew" runat="server" Text="AddNew" 
    onclientclick="imgbtn_Click" onclick="AddNew_Click"></asp:LinkButton> 
</asp:Content>` 

回答