无法从Default.aspx页面访问模块,但可以从Default.aspx.vb访问它

时间:2014-11-07 15:17:25

标签: asp.net vb.net

我根据web.config文件中的一些配置创建了一个输出字符串的vb.net模块。我可以从Default.aspx.vb页面中的方法和函数调用和使用Module函数,但是当我尝试从Default.aspx调用模块时,如下所示:

<a href="<% ModuleName.GetHref() %>"><% ModuleName.GetLinkName() %></a>

我得到了

  

错误12&#39; ModuleName&#39;没有宣布。由于其保护级别,它可能无法访问。

模块声明如下:

Public Module ModuleName

并且模块中的所有功能都是公共的:

 Public Function GetHref() As String

如何在.aspx页面中调用这些函数?

1 个答案:

答案 0 :(得分:1)

我会使用codebehind,我认为你不能直接从aspx访问它。因此,请使用呈现为锚点的ASP.NET servercontrol HyperLink

然后通过NavigateUrlText从代码隐藏(f.e。Page_Load)中分配它:

this.link.NavigateUrl = ModuleName.GetHref();
this.link.Text = ModuleName.GetLinkName();

这也具有编译时安全性的优点,并且更易于调试。