在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。我不知道为什么它不起作用。错误消息是:
“命名空间Authenticate不会 存在。你确定你有吗? 参考组件等?“
所以,然后在我的default.cshtml文件的顶部我尝试了这个:
@using Authentication.cs;
导致完全相同的错误!
没有任何文档可以在任何地方找到,告诉您如何将类文件“包含”到WebMatrix页面中。
感谢任何帮助,
谢谢!
答案 0 :(得分:2)
导入命名空间,而不是文件。所以;什么名称空间是Authentication
?例如:
@using My.Utils.Authentication.cs;
此外 - 您想要将;
放入剃须刀电话中:
<p>@auth.Authenticated("jasonp")</p>
您还可以在代码中提供完全限定名称:
@{
var auth = new My.Utils.Authentication();
if(auth.Authenticated("jasonp"))
{
<p>@auth.Authenticated("jasonp")</p>
}
}
(除此之外:您是否故意使用相同的值两次调用相同的方法?)
答案 1 :(得分:1)
只需将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>
}
答案 2 :(得分:0)
创建名为linkRef.cs的文件 代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
public class linkRef
{
public linkRef() {
//
// TODO: Add constructor logic here
//
}
}
将它放在App_code文件夹中,然后通过dot net 2012发布到bin然后上传bin文件夹