我有一個aspx文件,其中將包含很多部分,我希望每個部分都在它自己的包含文件中。我可以將所有代碼放在主文件中。我正在使用:<! - #include file =「section1.aspx」 - >在正文中。當我構建時(我仍然只包含代碼的第一部分),我得到「名稱'lbl_phone'在當前上下文中不存在」,因爲後面的代碼有一個例程引用此屏幕字段,其中包含文件。什麼是更好的方式去做這件事?如何避免使用aspx包含文件造成錯誤?
編輯(因爲它是現在,希望我砍了正確這裏,現在構建好,但在瀏覽器錯誤):
文件ola.aspx
<%@ Page Language="C#" AutoEventWireup="true" Inherits="_ola" Codebehind="ola.aspx.cs" %>
<%@ Register TagPrefix="section" TagName="account" Src="account.ascx" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><body><form id="ola_form1" runat="server">
<section:account id="section_account" runat="server" />
</form></body></html>
文件:ola.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text.RegularExpressions;
using System.Data.SqlClient;
public partial class _ola : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
lbl_phone.Text = "000-000-1234";
}
}
文件:account.ascx
<%@ Control Language="C#" ClassName="_ola" CodeBehind="account.ascx.cs" %>
Call us at <asp:Label ID="lbl_phone" runat="server" Text="lbl_phone"></asp:Label>
在瀏覽器的運行時,我得到:未將對象引用設置爲對象的實例。 (對於lbl_phone.Text = ...的行)
最後我把後面的代碼爲僅僅是使用在.ascx文件的頂部以下各部分相關的每個部分:< %@ Control Language =「C#」CodeFile =「section1.ascx.cs」Inherits =「_ section1」%> –