2016-07-29 51 views
0

我遇到Visual Studio問題。我有一個GridView的頁面。後面的代碼認可了GridView的好處,但沒有其中的元素。我試圖在GridView之前添加一個標籤,並且能夠識別它。這意味着我的aspx代碼文件中有一些錯誤,但是我已經查看了它,並且對我來說都很好。Visual Studio - 某些點後無法識別控件

我試過刪除.designer.cs文件和'轉換爲Web應用程序'。我試圖複製代碼,刪除文件並重新創建它們。我也嘗試了許多清理和重建,並重新啓動Visual Studio。仍然沒有成功。我將不勝感激任何指導。

<%@ Page Title="" Language="C#" MasterPageFile="~/Site.Master" AutoEventWireup="True" CodeBehind="users.aspx.cs" Inherits="Ticket_System.admin.users" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server"> 


    <asp:GridView ID="userGrid" runat="server" OnRowEditing="userGrid_RowEditing" DataKeyNames="END_USER_ID" AutoGenerateEditButton="True" AutoGenerateColumns="false" OnRowUpdating="userGrid_RowUpdating" OnRowCancelingEdit="userGrid_RowCancelingEdit"> 

     <Columns> 
      <asp:TemplateField HeaderText="User #"> 
       <ItemTemplate> 
        <asp:Label ID="idLabel" runat="server" Text='<%# Bind("END_USER_ID") %>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="idText" runat="server" Enabled="false" Text='<%# Bind("END_USER_ID") %>'></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="Access"> 
       <ItemTemplate> 
        <asp:Label ID="accessLabel" runat="server" Text='<%# Bind("ACCESS_ROLE.DESCRIPTION") %>'></asp:Label> 

       </ItemTemplate> 
       <EditItemTemplate> 
       </EditItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="User"> 
       <ItemTemplate> 
        <asp:Label ID="userLabel" runat="server" Text='<%# Bind("USER_NAME") %>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="userText" runat="server" Text='<%# Bind("USER_NAME") %>'></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="Password"> 
       <ItemTemplate> 
        <asp:Label ID="passLabel" runat="server" Text='<%# Bind("PASSWORD") %>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="passText" runat="server" Text='<%# Bind("PASSWORD") %>'></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="First"> 
       <ItemTemplate> 
        <asp:Label ID="firstLabel" runat="server" Text='<%# Bind("FIRST_NAME") %>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="firstText" runat="server" Text='<%# Bind("FIRST_NAME") %>'></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="Last"> 
       <ItemTemplate> 
        <asp:Label ID="lastLabel" runat="server" Text='<%# Bind("LAST_NAME") %>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="lastText" runat="server" Text='<%# Bind("LAST_NAME") %>'></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 

      <asp:TemplateField HeaderText="Active"> 
       <ItemTemplate> 
        <asp:Label ID="activeLabel" runat="server" Text='<%# Bind("ACTIVE_FLAG") %>'></asp:Label> 
       </ItemTemplate> 
       <EditItemTemplate> 
        <asp:TextBox ID="activeText" runat="server" Text='<%# Bind("ACTIVE_FLAG") %>'></asp:TextBox> 
       </EditItemTemplate> 
      </asp:TemplateField> 

     </Columns> 
    </asp:GridView> 

</asp:Content> 

編輯:只是想澄清一些事情。我的意思是這些控件在後面的代碼中甚至都沒有被識別。例如firstLabel.Text給了我一個「在當前上下文中不存在」的錯誤。

回答

0

嘗試使用FindControl()方法。

foreach(GridViewRow row in userGrid.Rows) { 
    if(row.RowType == DataControlRowType.DataRow) { 
     string idText = (string)row.FindControl("idText"); 
    } 
} 
相關問題