0

私は古い Web アプリケーションを VS2008 内の適切な Web アプリケーションに変換し、さらに明確にするために名前空間も使用しました。

ただし、そうすることで、ベース ページ内の特定のフィールドがコード ビハインド ページに表示されないという問題が発生しました。最大の問題は、もちろんマスター ページです。

マスター ページを複製し、デザイナー ファイルを手動で再作成してすべてを再入力しましたが、両方のコード ビハインドで同じエラーが発生します。

エラー 1 名前 'lb_Version' は現在のコンテキストに存在しません C:\SourceControl\JFA Admin Portal\Website\JFA_Admin\MasterPageSimple.master.cs 26 13 JFA_Admin

マスターページは次のとおりです。

ベースページ:

<%@ Master Language="C#" AutoEventWireup="true" CodeFile="MasterPageSimple.master.cs" Inherits="JFA_Admin.MasterPageSimple" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>


<!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>Welcome to JFA Admin</title>
        <meta name="Author" content="Marcus Culver"/>
        <link href="Default.css" rel="stylesheet" type="text/css" /> 
    </head>
    <body>
        <div id="MasterPageSimpleWrapper" class="wrapper">
            <form id="form1" runat="server">
                <div id="MasterPageSimpleHeader" >
                    <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server">
                    </cc1:ToolkitScriptManager> 
                    <br /> <br /> 
                    <div style="text-align:center">
                        <asp:Image ID="Image1" runat="server" ImageUrl="Images/JFA_Admin.png" CssClass="" />
                    </div>
                    <br /> <br /> <br /> <br /> <br /> <br />
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
                    <br />
                    <br />
                    <br />
                    <asp:Label ID="lb_Version" runat="server"></asp:Label>
                </div>
            </form> 
        </div>
    </body>
</html>

コードビハインド:

using System;
using System.IO;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
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.Xml.Linq;

namespace JFA_Admin
{
    public partial class MasterPageSimple : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void Page_Init(object sender, EventArgs e)
        {
            lb_Version.Text = ConfigurationManager.AppSettings["Env"] + ": " + ConfigurationManager.AppSettings["Ver"];
        }
    }
}
4

1 に答える 1

0

名前空間を参照しようとしたときに競合を引き起こしていた名前空間と同じ名前のページを追加したことが判明しました。

ページの名前を変更し、ラベルを Page_Load に戻して (Sonar のコメントに従って)、すべてが再び機能しているように見えます。CCでも!スクリプト マネージャーのタグ。

ベースページ:

<%@ Master Language="C#" AutoEventWireup="True" Inherits="JFA_Admin.MasterPageSimple" Codebehind="MasterPageSimple.master.cs" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>

<!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>Welcome to JFA Admin</title>
        <meta name="Author" content="Marcus Culver"/>
        <link href="Default.css" rel="stylesheet" type="text/css" /> 
    </head>
    <body>
        <div id="MasterPageSimpleWrapper" class="wrapper">
            <form id="form1" runat="server">
                <cc1:ToolkitScriptManager ID="ToolkitScriptManager1" runat="server" />
                <div id="MasterPageSimpleHeader" >
                    <br /> <br /> 
                    <div style="text-align:center">
                        <asp:Image ID="Image1" runat="server" ImageUrl="Images/JFA_Admin.png" CssClass="" />
                    </div>
                    <br /> <br /> <br /> <br /> <br /> <br />
                    <asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
                    </asp:ContentPlaceHolder>
                    <br />
                    <br />
                    <br />
                    <asp:Label ID="lb_Version" runat="server"></asp:Label>
                </div>
            </form> 
        </div>
    </body>
</html>

コードビハインド:

using System;
using System.IO;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
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.Xml.Linq;

namespace JFA_Admin
{
    public partial class MasterPageSimple : System.Web.UI.MasterPage
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            lb_Version.Text = ConfigurationManager.AppSettings["Env"] + ": " + ConfigurationManager.AppSettings["Ver"];
        }
    }
}

ありがとうソナー・ギョヌル

于 2013-11-01T12:58:50.513 に答える