我目前在寻找一种方法来调用ASP.Net web Forms页面中静态Web方法的上下文中的ResolveClientUrl时遇到了麻烦。
我使用jQuery Ajax调用与WebForms进行交互,如这里所述:http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/,这就是为什么WebMethod需要是静态的。问题是,在WebMethod中,我需要生成一个URL并附加一个查询字符串,我希望在附加查询字符串之前安全地使用它并通过ResolveClientUrl传递它。
有没有什么办法可以解决这个问题,或者.Net是否提供了一个替代的静态方法来做或多或少相同的事情?
发布于 2011-07-16 00:00:40
如果从网页调用,则可以使用:
public static void DoThis() { Page page = HttpContext.Current.Handler as Page;}
然而,如果你在一个web方法中,它将不是作为处理程序的页面;它是web请求的处理程序。我在JavaScript中使用了这种方法,它确实起作用了:
http://iridescence.no/post/Resolving-relative-URLe28099s-from-JavaScript.aspx
HTH。
发布于 2013-03-14 02:07:44
从..。ASP.Net C# ResolveClientUrl inside Class
除了在页面对象(或任何控件)上调用ResolveClientUrl之外,您还可以使用Web.VirtualPathUtility.ToAbsolute("~/home.aspx");,它会给出与调用ResolveUrl("~/home.aspx");相同的结果
https://stackoverflow.com/questions/6709515
复制相似问题