簡體   English   中英

Web App中ASP.NET設計中沒有服務器控件的代碼隱藏字段

[英]No code-behind fields for server controls in ASP.NET design in Web App

我在Visual Studio 2008創建了一個New Web Site ,並添加了一個帶有控件的頁面:

<!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">
<body>
    <form runat="server">
    <div>
        <asp:Label runat="server" ID="lblFoobar">Foobar</asp:Label>
    </div>
</form>
</body>
</html>

並且生成的代碼隱藏類獲得了一個新字段lblFoobar

我可以將其作為本地實例變量訪問任何成員。 一切正常。

但是,當我創建一個New ASP.NET Application ,相同的方法會引發錯誤:

The name 'lblFoobar' does not exist in the current context

為什么?

.aspx頁上應該有兩個文件。 一個應該是.aspx.designer.cs文件,另一個應該是代碼隱藏文件.aspx.cs文件。

如果在解決方案資源管理器中右鍵單擊aspx文件,然后選擇“查看Codegen文件”,它將為您打開.aspx.designer.cs文件。 標簽應在此處聲明。

如果不是,那么設計器還沒有正確解析您的標記。 在設計視圖中打開.aspx文件,進行一些小的更改,將其還原並刪除,以使設計器再次運行。

好的,您的示例代碼缺少ASP.NET頁面最重要的內容,它是@Page指令,它告訴ASP.NET引擎為該頁面實例化哪個類,以及是否需要動態編譯任何代碼。

確保您不僅將整個頁面從網站復制到Web應用程序,而且還創建了一個新頁面。

確保您的.aspx頁具有正確的@page指令,該指令應接近:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication1._Default" %>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM