【问题标题】:In my ASP.net MVC application, a library needs a Page() parameter在我的 ASP.net MVC 应用程序中,库需要一个 Page() 参数
【发布时间】:2015-05-22 13:59:45
【问题描述】:

我目前正在为一家公司编写我的第一个 MVC 4 应用程序。 在其中,我需要使用由另一个团队开发的内部库(我没有源代码,他们无法按照我的需要快速更新库)。 此库中的方法需要一个 System.Web.UI.Page 参数。

使用 MVC,似乎不可能(或棘手)拥有等效对象。

我尝试了不同的方法来尝试创建一个对象页面,例如:

var page = new System.Web.UI.Page();
var requestField = typeof(System.Web.UI.Page).GetField("_request", System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.NonPublic);
requestField.SetValue(page, System.Web.HttpContext.Current.Request);

但不幸的是,它并没有成功。

我希望我可以在不以旧方式重写我的应用程序的情况下处理这个问题:-/

谢谢大家的想法!

【问题讨论】:

  • 这真的很难——图书馆在做什么?
  • 我无权访问该库正在检索的数据。我目前正在等待这个团队的回复,但它可能会持续很长时间(而且我的国家没有)。
  • 您可以使用反射器类型工具查看代码
  • 也许该库不是为与 mvc 一起使用而设计的
  • @dansasu11 我想是的,它是一个旧应用程序使用的旧库,需要替换

标签: c# asp.net asp.net-mvc asp.net-mvc-4


【解决方案1】:

使用反编译工具,我看到该方法只是返回一个Session变量,所以我可以绕过它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-19
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    相关资源
    最近更新 更多