我已閱讀每篇文章,我可以找到關於如何做到這一點,並嘗試所有。我有稱爲DNAStaff(在根)一個Master頁面包含: -asp在內容頁面使用主頁面變量
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="DNAStaff.master.cs" Inherits="DNAStaff" %>
<!DOCTYPE html>
<html>
<head runat="server">
<title></title>
<link href="~/Styles/DNA.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder id="head" runat="server">
</asp:ContentPlaceHolder>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
...............
</div>
</form>
</body>
</html>
母版後面的代碼包括: -
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.IO;
using System.Data;
public partial class DNAStaff : System.Web.UI.MasterPage
{
public string MyAccessLevel
{
get; set;
}
protected void Page_Load(object sender, EventArgs e)
{
string ConnectionString = "Data Source=NZ1;Initial Catalog=Intranet;Integrated Security=false;UID=IntranetAccess;PWD=*****";
string sqlstring = @"select [MenuID], [Item], Target, SecLevel from [MENUS] ";
SqlConnection conn = new SqlConnection(ConnectionString);
SqlDataReader rdr = null;
int MainGroup;
try
{
if (Request.Cookies["userinfo"] != null)
{
MyAccessLevel = Server.HtmlEncode(Request.Cookies["userinfo"]["accessLevel"]);
}
else
{
MyAccessLevel = "1";
}
.........
內容頁面包括:
<%@ Page Title="" Language="C#" MasterPageFile="~/DNAStaff.master" AutoEventWireup="true" CodeFile="main.aspx.cs" Inherits="main" %>
<%@ MasterType virtualpath="~/DNAStaff.master" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" Runat="Server">
Set Primary Project
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
</asp:Content>
enter code here
和內容頁面代碼後面包含:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class main : System.Web.UI.Page
{
string AccessLevel = "";
protected void Page_Load(object sender, EventArgs e)
{
AccessLevel = Master.MyAccessLevel;
TextBox1.Text = AccessLevel;
}
}
行「ACCESSLEVEL = Master.MyAccessLevel」給出了一個錯誤: -
Error CS1061 'MasterPage' does not contain a definition for 'MyAccessLevel' and no extension method 'MyAccessLevel' accepting a first argument of type 'MasterPage' could be found (are you missing a using directive or an assembly reference?) 8_Live_main.aspx D:\Development\dnanew.steelpencil.com\Live\main.aspx.cs 13 Active
我想設置在負載母版的變量MyAccessLevel在任何內容頁閱讀。我明顯錯過了一些東西,有人可以幫忙嗎?
感謝的內容 - 行「網站主=((網站)(Page.Master)) ;」給出錯誤CS0246「無法找到類型或名稱空間名稱」Site「(您是否缺少使用指令或程序集引用?」 –
@OrmondStock對不起,我不得不更好地解釋這個問題。 – VDWWD
感謝你 - 工作。 –