相关疑难解决方法(0)

从HttpContext获取当前的System.Web.UI.Page?

这实际上是一个两部分问题.首先,HttpContext.Current是否对应于当前的System.UI.Page对象?

第二个问题,可能与第一个问题有关,为什么我不能使用以下内容来查看当前页面是否实现了一个接口:

private IWebBase FindWebBase()
{
    if (HttpContext.Current as IWebBase != null)
    {
        return (IWebBase)HttpContext.Current.;
    }
    throw new NotImplementedException("Crawling for IWebBase not implemented yet");
}
Run Code Online (Sandbox Code Playgroud)

一般上下文是某些控件需要知道它们是作为SharePoint Webpart执行还是作为Asp.Net框架的一部分执行.

我通过要求控件传递对自身的引用,并检查控件的Page属性来解决问题,但我仍然很好奇为什么上面的方法不起作用.

编译器错误是:无法通过引用转换,装箱转换,拆箱转换,包装转换或空类型转换将System.Web.HttpContext转换为... IWebBase.

c# asp.net httpcontext

84
推荐指数
3
解决办法
9万
查看次数

asp.net ScriptManager PageMethods未定义

我想从JS调用静态服务器端方法,所以我决定在我的网站上使用ScriptManager控件.所以我有一个母版页,具有这样的结构:

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="TopLevelMasterPage.Master.cs"
    Inherits="Likedrive.MasterPages.TopLevelMasterPage" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:fb="http://ogp.me/ns/fb#">

<head runat="server">
    <title></title>
        <script type="text/javascript">
            function getGiftFileUrl() {
                function OnSuccess(response) {
                    alert(response);
                }
                function OnError(error) {
                    alert(error);
                }

                PageMethods.GetGiftFileUrl("hero", 1024, 768, OnSuccess, OnError);
            }

            getGiftFileUrl();

        </script>
    </asp:ContentPlaceHolder>
</head>
<body>
    <form id="form1" runat="server">
    <asp:ScriptManager ID="ScriptManagerMain"
            runat="server"
            EnablePageMethods="true" 
            ScriptMode="Release" 
            LoadScriptsBeforeUI="true">
    </asp:ScriptManager>
    <asp:ContentPlaceHolder ID="MainContent" runat="server"> 
    </asp:ContentPlaceHolder>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但是当页面加载时,我有一个JS异常 - 未定义PageMethods.我认为该对象将被隐式创建,所以我可以在我的javascript中使用它.

javascript asp.net ajax scriptmanager

11
推荐指数
2
解决办法
6万
查看次数

标签 统计

asp.net ×2

ajax ×1

c# ×1

httpcontext ×1

javascript ×1

scriptmanager ×1