剃刀语法/ WebMatrix-C#问题

Windows窗体中,我可以使用以下代码创建一个名为“ Authentication.cs”的类文件:

public class Authentication
{
    public string Name;

    internal bool Authenticate()
    {
        bool i = false;
        if (Name == "Jason")
        {
            i = true;

        }
        return i;
    }
}

在WebMatrix中,我可以插入一个名为“ Authentication.cs”的新类文件,并插入上面的代码.

在我的default.cshtml文件中,执行以下操作:

<body>
   @{
      Authentication auth = new Authentication();
      if(auth.Authenticated("jasonp"))
      {
         <p>@auth.Authenticated("jasonp");</p>
      }
   }
</body>

但这是行不通的!它适用于WinForms桌面应用程序,但不适用于WebMatrix.我不知道为什么它不起作用.错误消息是:

“The namespace Authenticate does not
exist. Are you sure you have
referenced assemblies etc?”

因此,然后在default.cshtml文件的顶部尝试了此操作:

@using Authentication.cs;

导致完全相同的错误!

在任何地方都找不到任何文档可以告诉您如何在WebMatrix页面中“包含”类文件.

感谢您的帮助,

谢谢!

解决方法:

只需将CS文件放入您的App_Code目录中

然后做这样的事情

    @{
      Authentication auth = new Authentication();
      if(auth.Authenticated("jasonp"))
      {
         <p>@auth.Authenticated("jasonp");</p>
      }
   }

无需添加使用.

另外,如果您想使用.dll,则需要使用

@using NameSpace.Authenication

@{
    Authenticated auth = new Authenicated();

 }

 @if(@auth.Authenticated("jasonp"))
 {
    <p>@auth.Authenticated("jasonp")</p>
 }
上一篇:blazorboilerplate 一个采用 blazor 的框架


下一篇:java基本文件的读写