3

有一个 CMS 系统和没有后端文件的 aspx 页面。我可以将服务器代码直接添加到用<script language="C#" runat="server">标签包裹的 .aspx 中。但是编译器会产生一个错误,因为我在我的代码中使用了 LINQ,而且我在任何地方都没有using System.Linq;声明。而且我无法在 .aspx 文件中添加使用(再次出错)。我该怎么办?

<%@ 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>
4

2 回答 2

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>
于 2010-08-18T23:27:09.160 回答
3

您需要添加LINQ命名空间。您使用import声明。

<%@ Page Inherits="MyPage" MasterPageFile="~/Master.master" %>
<%@ Import Namespace="System.Data.Linq" %>
<script language="C#" runat="server">
...
于 2010-08-18T23:27:38.377 回答