Javascript C#.NET从HTML中的内容页调用母版页方法

Javascript C#.NET从HTML中的内容页调用母版页方法,javascript,c#,asp.net,Javascript,C#,Asp.net,在我的Site.Master页面(SiteMaster)中,我有以下代码: public string RandomString() { Random random = new Random(); return new string(Enumerable.Repeat("ABCEFG", 10) .Select(s => s[random.Next(s.Length)]).ToArray()); } 这应该给我一个随机字符串。 现在,在my ContentPa

在我的Site.Master页面(SiteMaster)中,我有以下代码:

public string RandomString()
{
    Random random = new Random();
    return new string(Enumerable.Repeat("ABCEFG", 10)
      .Select(s => s[random.Next(s.Length)]).ToArray());
}
这应该给我一个随机字符串。 现在,在my ContentPage.aspx中,我想在尝试导入Js文件的同时调用此函数,因此首先我导入了页面顶部的MasterType,如下所示:

<%@ MasterType VirtualPath="~/Site.Master" %>
<script type="text/javascript" src="/Scripts/Custom/myJSFILE.js?rndstr=<%= Master.RandomString(); %>"></script>
<script type="text/javascript" src="/Scripts/Custom/myJSFILE.js?rndstr=<%# RandomString() %>"></script>

然后像这样导入我的js脚本:

<%@ MasterType VirtualPath="~/Site.Master" %>
<script type="text/javascript" src="/Scripts/Custom/myJSFILE.js?rndstr=<%= Master.RandomString(); %>"></script>
<script type="text/javascript" src="/Scripts/Custom/myJSFILE.js?rndstr=<%# RandomString() %>"></script>

但如果我尝试运行它,会出现以下错误:

编译处理此请求所需的资源时出错。查看以下特定错误详细信息,并相应地更改源代码

应为编译器错误消息:CS1026:)

但是如果我在MasterSite.aspx文件中也这样做:

<%@ MasterType VirtualPath="~/Site.Master" %>
<script type="text/javascript" src="/Scripts/Custom/myJSFILE.js?rndstr=<%= Master.RandomString(); %>"></script>
<script type="text/javascript" src="/Scripts/Custom/myJSFILE.js?rndstr=<%# RandomString() %>"></script>


它就像一个符咒。那么,如何在我的内容页中调用相同的函数呢?

您不能直接访问母版页,您需要创建母版页的属性,并使用该属性访问方法
Site1
是母版页的类名(
公共部分类Site1:System.Web.UI.MasterPage

然后您就可以访问aspx了

<%= MyMaster.RandomString() %>


谢谢您的帮助。现在我不再收到任何错误,但不知怎么的,它不会返回随机字符串。它只是在这里工作。我在aspx页面上得到一个随机字符串。