我在幾個網頁上看到了如何從使用該主文件的代碼後面的網頁調用的主頁文件中定義的公共方法連接到公共方法。ASP.Net呼叫Site.Master方法從網頁不工作
(我使用ASP.Net 4.0的Visual Studio 2012)
的過程(從文章複製):
確保功能是將網頁訪問(即宣告 公開),並使用在ContentPage中的MasterType聲明:
<%@ Page .... %> <%@ MasterType VirtualPath="~/masterpage.master" %>
在頁面中,使用Page.Master.MyFunction()來訪問該功能。 *注意:在能夠訪問該功能之前,您需要保存&版本。
問題是我沒有看到該方法。以下是我有:
網頁(存儲在/ MyFolder中,所以/ MyFolder文件):
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Logout.aspx.cs" Inherits="BvCorpMain.Candidates.Logout" %>
<%@ MasterType VirtualPath="/SiteMasters/Site.Master" %>
的Site.Master CS文件(存儲在/ SiteMasters文件夾):
public void UpdateUserBlocksToCookie()
{
}
當我進入註銷頁面的代碼後,在我輸入「Page.Master。」的方法中,我看不到我的方法。
難道你的虛擬路徑缺少tildé'〜'字符,所以它應該是'VirtualPath =「〜/ SiteMasters/Site.Master」' –
不,我試過了。微軟自動插入的問題是,它意味着相對的,並不總是正確的。我遇到了一些問題,其解決方案是刪除〜並僅從域的根目錄中引用。 –