2013-11-15 35 views
0

我一直在asp.net應用程序中收到錯誤'名稱(x)在當前上下文中不存在'。我知道我必須包含正確的<% Page聲明,include指令指向我的cs文件,並且繼承必須與我在其中定義的類相同。但似乎我仍然錯過了一些東西。我搜索了一段時間,試圖找出缺失的東西,但大部分我看到的東西似乎都與我的特定問題無關。任何人都請關心幫忙嗎?爲什麼我得到一個編譯錯誤的名稱...在ASP中不存在的上下文中?

我在.aspx文件中的代碼(以及它的一部分):

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="App_Code/Logon.aspx.cs" Inherits="_Logon" Debug="true" %> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
<title></title> 
</head> 
<body> 
<form id="loginmat" runat="server"> 
<div> 
<asp:Label ID="matInicial" runat="server" AssociatedControlID="inptMat" Text="Ingrese su matrícula:"></asp:Label> 
<asp:TextBox ID="inptMat" runat="server"></asp:TextBox> 
<asp:CheckBox ID="chkPersist" runat="server" /><br /> 
<asp:Button ID="sbmtMat" runat="server" 

,並在aspx.cs文件:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using System.Data.SqlClient; 
using System.Configuration; 
using System.Data; 
using System.Web.Security; 

/// <summary> 
/// Summary description for Logon 
/// </summary> 
/// 
public class _Logon : System.Web.UI.Page 
{ 
protected void Page_Load(object sender, EventArgs e) 
{ 

} 
protected void LoginBtnClick(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["conMatriculas"].ConnectionString); 
    con.Open(); 
    SqlCommand cmd = con.CreateCommand(); 
    cmd.CommandText="SELECT matricula FROM dbo.Usuarios WHERE [email protected]"; 
    cmd.Parameters.AddWithValue("@mat", inptMat.Text); 

在查詢中最後一個變量是什麼應用程序沒有達到。

+0

你試過跟蹤到看到什麼是存儲在inptMat.Text當你到故障線路? – Andrew

+0

這是一個ASP.NET Web ** Application **項目還是一個ASP.NET Web ** Site **項目?您發佈的代碼給出了混合信號:'CodeFile'意味着這是一個Web站點,但'_Logon'類缺少'partial'關鍵字意味着這是一個Web應用程序。 –

回答

0

它看起來像你缺少的命名空間:

namespace YourNameSpace 
{ 
    public class _Logon : System.Web.UI.Page 
    { 
    ........... 
+0

請原諒我的問題,但我不明白命名空間在這種情況下會做什麼,我只是使用該類來提供Code Behind aspx頁面。也就是說,我認爲命名空間用於需要區分嵌套類中的方法的大型應用程序,不是嗎? –

+0

您有一個有效的觀點,Iam試圖指出範圍問題,您不應該以任何方式將App_code放入aspx頁面,因爲它實際上是用於類文件,只要您進行更改就會對其進行編譯 – meda

相關問題