【问题标题】:Inject method to codebehind from aspx page从 aspx 页面注入代码隐藏方法
【发布时间】:2011-11-12 18:47:58
【问题描述】:

我有一个属于旧版应用程序的 aspx 页面。由于我无法访问相关的 aspx.cs 文件,我必须通过 aspx 文件注入一些需要的逻辑,例如:

<%
  using (myNamespace.myLinqContext cnt = new myNamespace.myLinqContext())
        {
         var warningText = (from c in cnt.Table_Customer
                            where c.ID.Equals(CustomerId)
                            select c).First();
        }       
%> 

但是我会得到一个异常,因为命名空间 System.Linq 没有导入到代码隐藏文件中。

如何在这种情况下导入/使用它,以便从 aspx 页面执行 Linq 查询?

【问题讨论】:

    标签: asp.net linq namespaces using-statement


    【解决方案1】:

    我不知道它是否有帮助,但尝试直接在 aspx 中导入 Linq 命名空间。

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

    页面类也是部分的,所以也许你可以将你的逻辑移动到可以访问代码的地方。

    【讨论】:

    • 我认为它不能完美运行。我在运行时在 asox 字段中遇到异常,说在 Linq 查询开始的地方缺少 thaat")"。这个查询是正确的,因为我之前在代码隐藏上编译和测试过。
    • 尝试使用扩展:cnt.Table_Customer.Where(c =&gt; c.ID == CustomerId).First()
    • 同样在这种情况下,我在“>”字符上得到一个例外。我决定按照 Neelam 的建议开发一个 Web 服务。但是 +1 导入提示!
    猜你喜欢
    • 2012-09-27
    • 1970-01-01
    • 2020-01-17
    • 1970-01-01
    • 2018-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多