我需要做幾個分貝的事情,我寧願在一個單獨的文件中有擴展方法,而不是將它們全部放在cshtml文件中。從.CS文件內部訪問數據庫記錄,不能很好地工作
不過,我得到以下錯誤:
Compiler Error Message: CS0120: An object reference is required for the non-static field, method, or property 'UserOperations.GetFirstName(string)'
指向我這一行:
Line 165: <li><a href="@Href("myaccount/account.cshtml")">Hi, @UserOperations.GetFirstName(WebSecurity.CurrentUserId)</a></li>
我正在使用的代碼是:(CSHTML)
@if(WebSecurity.IsAuthenticated)
{
<li><a href="@Href("myaccount/account.cshtml")">Hi, @UserOperations.GetFirstName(WebSecurity.CurrentUserId.ToString())</a></li>
}
else
{
<li><a href="@Href("myaccount/Login.cshtml")">My Account</a>
<ul>
<li><a href="@Href("myaccount/Login.cshtml")">Sign In</a></li>
<li><a href="@Href("myaccount/Register.cshtml")" title="It's FREE!">Create Account</a></li>
</ul>
</li>
}
And ... :(UserOperations.CS)
using System;
using WebMatrix.WebData;
using WebMatrix.Data;
using System.Collections.Generic;
using System.Web;
/// <summary>
/// User & Database-based operations in this file only.
/// </summary>
public class UserOperations
{
public string GetFirstName(string CurrentUserID)
{
WebSecurity.InitializeDatabaseConnection("eee", "www", "www", "www", true);
var database = Database.Open("OSF");
var SelectQueryString = "SELECT FirstName FROM UserProfile WHERE FirstName = " + CurrentUserID;
var result = database.Query(SelectQueryString);
return result.ToString();
}
}
我不明白錯誤在說什麼。我在C#桌面應用程序中始終這樣做有點東西,我不明白如何或什麼我做錯了什麼?有人可以幫忙嗎?
謝謝!
加油! - 你需要爲你的班級使用變量。由於這似乎是一個網站,您需要在正確的範圍內進行變化。 – 2011-05-27 15:14:20
奇萊克斯花花公子,我只在前幾天開始使用剃刀/ WebMatrix – Lucifer 2011-05-27 15:23:10