剃刀语法/ 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>
}
标签:webmatrix,razor,asp-net,c,net 来源: https://codeday.me/bug/20191208/2092780.html