2010-08-18 47 views
3

有一個CMS系統,並且有沒有後端文件的aspx頁面。我可以將服務器代碼直接添加到用<script language="C#" runat="server">標記包裝的.aspx中。但編譯器會生成一個錯誤,因爲我在我的代碼中使用了LINQ,並且我沒有任何地方使用using System.Linq;語句。而且我不能使用裏面的.aspx文件(錯誤再次)。我該怎麼辦?單文件ASPX和LINQ

<%@ Page Inherits="MyPage" MasterPageFile="~/Master.master" %> 
<script language="C#" runat="server"> 
[System.Web.Services.WebMethod] 
public static List<string> GetA() 
{ 
    MyDataContext db = new MyDataContext(); 

    var result = from a in db.A 
       select a; 

    return result.ToList(); 

} 
</script> 

回答

12

添加

<%@ Import Namespace = "System.Linq" %> 

上面的代碼應該工作。

所以最終的代碼看起來應該像

<%@ Page Inherits="MyPage" MasterPageFile="~/Master.master" %> 
<%@ Import Namespace = "System.Linq" %> 
<script language="C#" runat="server"> 
[System.Web.Services.WebMethod] 
public static List<string> GetA() 
{ 
    MyDataContext db = new MyDataContext(); 

    var result = from a in db.A 
       select a; 

    return result.ToList(); 

} 
</script> 
+0

謝謝!還需要System.Collections.Generic。一切正常,偉大:) – Vitaly 2010-08-18 23:33:49

+0

很高興幫助你! – Landmine 2010-08-18 23:35:19

3

您需要添加LINQ命名空間。您使用import聲明。

<%@ Page Inherits="MyPage" MasterPageFile="~/Master.master" %> 
<%@ Import Namespace="System.Data.Linq" %> 
<script language="C#" runat="server"> 
... 
+0

太快了!謝謝 :) – Vitaly 2010-08-18 23:32:59