2013-07-10 54 views
0

Glossary.aspx當前上下文中不存在名稱'GridView1'Glossary.aspx.cs

這是該網站的html代碼。我計劃添加一個登錄,以便人們可以根據活動目錄編輯表。

<!DOCTYPE html> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title spellcheck="true">Lexis Nexis Glossary</title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div style="margin-left: 720px"> 
     &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
    </div> 
     <asp:SqlDataSource ID="TedGlossary" runat="server" ConnectionString="<%$ ConnectionStrings:Glsry_Taylor %>" SelectCommand="SELECT [TermText], [DefNbr], [DefVerNbr], [DefText], [AmplifyingExplanationText], [SeeAlsoText], [AuthoritativeSrcText], [ScopeName], [DomnName], [GovernanceStateName], [LastUpdtTimestamp] FROM [Glossary] ORDER BY [TermText]"></asp:SqlDataSource> 
     <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" 
      " DataKeyNames="TermText,DefNbr,DefVerNbr" DataSourceID="TedGlossary" EnableSortingAndPagingCallbacks="True"> 
      <Columns> 
       <asp:BoundField DataField="TermText" HeaderText="Term" ReadOnly="True" SortExpression="TermText" /> 
       <asp:BoundField DataField="DefNbr" HeaderText="Definition #" ReadOnly="True" SortExpression="DefNbr" /> 
       <asp:BoundField DataField="DefVerNbr" HeaderText="Definition Vers #" ReadOnly="True" SortExpression="DefVerNbr" /> 
       <asp:BoundField DataField="DefText" HeaderText="Definition" SortExpression="DefText" /> 
       <asp:BoundField DataField="AmplifyingExplanationText" HeaderText="Amplifying Explanation" SortExpression="AmplifyingExplanationText" /> 
       <asp:BoundField DataField="SeeAlsoText" HeaderText="See Also" SortExpression="SeeAlsoText" /> 
       <asp:BoundField DataField="AuthoritativeSrcText" HeaderText="Authoritative Source" SortExpression="AuthoritativeSrcText" /> 
       <asp:BoundField DataField="ScopeName" HeaderText="Scope Name" SortExpression="ScopeName" /> 
       <asp:BoundField DataField="DomnName" HeaderText="Domn Name" SortExpression="DomnName" /> 
       <asp:BoundField DataField="GovernanceStateName" HeaderText="Governance State" SortExpression="GovernanceStateName" /> 
       <asp:BoundField DataField="LastUpdtTimestamp" HeaderText="Last Update" SortExpression="LastUpdtTimestamp" /> 
      </Columns> 
     </asp:GridView> 
    </form> 
    <script> 
     $(function() { 
      $('#<%=GridView1.ClientID%>').dataTable(); 
     }); 
    </script> 

</body> 
</html> 

Glossary.aspx.cs

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

namespace Home 
{ 
    public partial class Glossary : System.Web.UI.Page 
    { 
     protected void Page_Load(object sender, EventArgs e) 
     { 
      GridView1.PreRender += new EventHandler(GridView1_PreRender); 
     } 
     protected void GridView1_PreRender(object sender, EventArgs e) 
     { 
      if (GridView1.Rows.Count > 0) 
      { 
      //forces grid to render thead/th elements 
      GridView1.UseAccessibleHeader = true; 
      GridView1.HeaderRow.TableSection = TableRowSection.TableHeader; 
      } 
     } 
    } 
} 

我得到的GridView 1的誤差在目前的情況下不存在。我不確定爲什麼會這樣。任何有識之士將不勝感激。

+0

你能提供的堆棧跟蹤? – yieldvs

+0

你不是在引用jQuery和jQuery的datatables插件。即使修復了Darren在他的回答中提出的Page聲明指令後,這也不起作用。 – Icarus

+0

@lcarus我如何引用jQuery的數據表插件? –

回答

2

你出現在你的web窗體頂部失蹤您的頁聲明。

你應該。有這樣的事情,要連接的前端和後端這主要是告訴設計圖,其中支持類文件是

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Glossary.aspx.cs" Inherits="Glossary" %> 

如果「可能」需要是這一個,而不是 - 我看你有沒有納姆Symbol在你的代碼隱藏

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Glossary.aspx.cs" Inherits="Home.Glossary" %> 

這將佔到你看到作爲.aspx.cs文件不知道沒有那個頁面指令設計視圖中的任何錯誤。

0

對於初學者來說,GridViewDataKeyNames屬性之前刪除多餘的雙引號(「)。

0

這可能是由於GridView1未在Glossary.aspx.designer.cs文件中聲明引起的。該文件可能需要首先創建,並且/或者需要手動添加對GridView1的引用。

樣品Glossary.aspx.designer.cs:

public partial class Glossary { 
    protected global::Global.System.Web.UI.WebControls.GridView GridView1; 
} 
相關問題