我一直在尝试链接一个Web表单,以便能够访问母版页中的变量。我在它工作之前做了这个。但现在当我这样做时,我得到一个错误。
Site.Master中的代码
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="Site" %>
Site.Master.cs中的代码
public partial class Site : System.Web.UI.MasterPage
{
public string hi = "";
protected void Page_Load(object sender, EventArgs e)
{
}
}
WebForm1.aspx中的代码:
<%@ Page Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="WebForm1.aspx.cs" Inherits="WebForm1" %>
<%@ MasterType VirtualPath="~/Site.master" %>
WebForm1.aspx.cs中的代码
public partial class WebForm1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Master.hi="new"
}
}
当我将鼠标悬停在hi上时,我收到此消息
Error in Visual Studio - "You can use navigation bar to switch contexts
这是另一张图片 Screenshot
如果你们能帮助我,那真的很棒
答案 0 :(得分:6)
我在MVC应用程序中遇到同样的问题,因此WebForm-CodeFile-CodeBehind建议并不真正适用。
然而,我意识到我创建的新课程有他们的&#34; Build Action&#34;设置为&#34;内容&#34;。一旦我将其改为&#34;编译&#34;,一切都开始了。
答案 1 :(得分:5)
在WebForm1.aspx中,尝试将CodeFile更改为CodeBehind。这对我有用。
答案 2 :(得分:0)
尝试将表单的ID添加到设计器“yourname”.aspx.designer.cs中,在您的情况下我想它应该是WebForm1.aspx.designer.cs。
您将看到每个ID的参考线。你需要添加这样的一行 - &gt; “protected global :: System.Web.UI.HtmlControls.HtmlForm hi”如果你添加了像普通html这样的表格 或 - &gt; “protected global :: System.Web.UI.FormView hi”如果你添加为aspx元素