Site.master 没有看到 Site.master.cs 中的方法
Site.master does not see methods in Site.master.cs
我有网络应用程序,其中有站点主控 'Adminka.Master'。
其代码:
<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="Adminka.master.cs" Inherits="Kaifarik.Pages.Admin.Adminka" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link rel="stylesheet" href="~/Content/AdminStyles.css" />
</head>
<body>
<form id="form1" runat="server">
<h1>Kaifarik: админ-панель</h1>
<div class="adminContent">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
<div id="nav">
<a href="<%= OrdersUrl %>">Управление заказами</a> ### The name 'OrdersUrl' does not exist in current context
<a href="<%= DishesUrl %>">Управление каталогом EDOI</a> ## The name 'DishesUrl' does not exist in current context
</div>
</body>
</html>
问题是在 Adminka.master.cs 文件中看不到 OrdersUrl 和 DishesUrl 方法。
Adminka.master.cs代码:
namespace Kaifarik.Pages.Admin
{
public partial class Adminka : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string OrdersUrl
{
get
{
return generateURL("admin_orders");
}
}
public string DishesUrl
{
get
{
return generateURL("admin_dishes");
}
}
private string generateURL(string routeName)
{
return RouteTable.Routes.GetVirtualPath(null, routeName, null).VirtualPath;
}
}
}
我创建了 site master 并且没有更改默认继承,但我仍然收到错误消息:
Error
Here is structure of my project
我尝试重新生成设计器文件,更改路径。
感谢任何帮助。
您可以从后面的代码中将 URL 与 HyperLink.NavigateUrl 绑定。
Adminka.master.cs
namespace Kaifarik.Pages.Admin
{
public partial class Adminka : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
OrdersHyperlink.NavigateUrl = this.OrdersUrl;
DishesHyperlink.NavigateUrl = this.DishesUrl;
}
public string OrdersUrl
{
get
{
return generateURL("admin_orders");
}
}
public string DishesUrl
{
get
{
return generateURL("admin_dishes");
}
}
private string generateURL(string routeName)
{
return RouteTable.Routes.GetVirtualPath(null, routeName, null).VirtualPath;
}
}
}
Adminka.master
将您的 <a>
元素替换为 <asp:HyperLink>
。 <asp:HyperLink>
将在 HTML.
中生成 <a>
元素
并应用Target="_self"
在当前框架中打开页面。
<asp:HyperLink ID="OrdersHyperlink" runat="server" Text="Управление заказами" Target="_self" />
<asp:HyperLink ID="DishesHyperlink" runat="server" Text="Управление каталогом EDOI" Target="_self" />
参考文献:
我有网络应用程序,其中有站点主控 'Adminka.Master'。
其代码:
<%@ Master Language="C#" AutoEventWireup="True" CodeBehind="Adminka.master.cs" Inherits="Kaifarik.Pages.Admin.Adminka" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link rel="stylesheet" href="~/Content/AdminStyles.css" />
</head>
<body>
<form id="form1" runat="server">
<h1>Kaifarik: админ-панель</h1>
<div class="adminContent">
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
</form>
<div id="nav">
<a href="<%= OrdersUrl %>">Управление заказами</a> ### The name 'OrdersUrl' does not exist in current context
<a href="<%= DishesUrl %>">Управление каталогом EDOI</a> ## The name 'DishesUrl' does not exist in current context
</div>
</body>
</html>
问题是在 Adminka.master.cs 文件中看不到 OrdersUrl 和 DishesUrl 方法。
Adminka.master.cs代码:
namespace Kaifarik.Pages.Admin
{
public partial class Adminka : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
}
public string OrdersUrl
{
get
{
return generateURL("admin_orders");
}
}
public string DishesUrl
{
get
{
return generateURL("admin_dishes");
}
}
private string generateURL(string routeName)
{
return RouteTable.Routes.GetVirtualPath(null, routeName, null).VirtualPath;
}
}
}
我创建了 site master 并且没有更改默认继承,但我仍然收到错误消息:
Error
Here is structure of my project
我尝试重新生成设计器文件,更改路径。
感谢任何帮助。
您可以从后面的代码中将 URL 与 HyperLink.NavigateUrl 绑定。
Adminka.master.cs
namespace Kaifarik.Pages.Admin
{
public partial class Adminka : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
OrdersHyperlink.NavigateUrl = this.OrdersUrl;
DishesHyperlink.NavigateUrl = this.DishesUrl;
}
public string OrdersUrl
{
get
{
return generateURL("admin_orders");
}
}
public string DishesUrl
{
get
{
return generateURL("admin_dishes");
}
}
private string generateURL(string routeName)
{
return RouteTable.Routes.GetVirtualPath(null, routeName, null).VirtualPath;
}
}
}
Adminka.master
将您的 <a>
元素替换为 <asp:HyperLink>
。 <asp:HyperLink>
将在 HTML.
<a>
元素
并应用Target="_self"
在当前框架中打开页面。
<asp:HyperLink ID="OrdersHyperlink" runat="server" Text="Управление заказами" Target="_self" />
<asp:HyperLink ID="DishesHyperlink" runat="server" Text="Управление каталогом EDOI" Target="_self" />
参考文献: