Asp.net 在Site.master.cs中找不到ASP超链接?
我的Asp.net 在Site.master.cs中找不到ASP超链接?,asp.net,visual-studio-2010,web-services,hyperlink,Asp.net,Visual Studio 2010,Web Services,Hyperlink,我的站点中有此代码。master: <%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %> <!-- ... --> <AnonymousTemplate> [ <asp:HyperLink ID="LoginHyperLink" runat="server" EnableViewState="false
站点中有此代码。master
:
<%@ Master Language="C#" AutoEventWireup="true" CodeFile="Site.master.cs" Inherits="SiteMaster" %>
<!-- ... -->
<AnonymousTemplate>
[ <asp:HyperLink ID="LoginHyperLink" runat="server" EnableViewState="false">Log In</asp:HyperLink> |
<asp:HyperLink ID="RegisterHyperLink" runat="server" EnableViewState="false">Register</asp:HyperLink> ]
</AnonymousTemplate>
在注册表hyperlink.NavigateUrl
中,我在Visual Studio 2010
中收到一个编译时错误,它说:
“当前上下文中不存在名称'RegisterHyperLink'
不太清楚发生了什么事。我在非母版页中看到过这项工作,所以这在母版中不起作用吗
我想它会…- 确保您的代码隐藏是从
继承的System.Web.UI.MasterPage
- 确保aspx添加了适当的指令,并且拼写正确,大小写正确:
- 这是因为这个匿名模板。它可能会创建新的命名容器,因此无法从页面加载直接访问。这是一个错误,请在Desing/Source save中添加一个新的超链接,然后重试。删除新的超链接以完成可能是因为
匿名模板
未激活。您是否已登录?请参阅上面的编辑。这将无法编译。您是否可以发布这两个文件的相关部分?@TomasVoracek-这是一个ASP.NET属性,仅在用户未登录时显示(也称为匿名)。AnonymousTemplate只是在标记中,还是具有实例化方法等所有必需的内容?我认为你可以把它只用于控件,而不是页面/母版页。但是,正如我上面所说的,如果它不是母版页的话,它可以很好地工作。这两种东西都存在,但它仍然不起作用。我将编辑我的问题以反映这一点。另外,System.Web.UI.MasterPage
似乎不存在。@kevlar1818-这可能是个问题,这是一个ASP.NET解决方案,而不仅仅是一个网站?通过右键单击并选择母版页,尝试创建新的母版页。如果你得到一个,试着与问题母版页进行比较,看看是否有任何差异。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
// ...
protected void Page_Load(object sender, EventArgs e)
{
// this is just placeholder for now.
RegisterHyperLink.NavigateUrl = "Register.aspx?ReturnUrl=" + HttpUtility.UrlEncode(Request.QueryString["ReturnUrl"]);
}