ASP.NET'框架javascript不允许我渲染原始HTML IFRAME

ASP.NET's framework javascript won't let me render a raw HTML IFRAME

本文关键字:允许我 原始 IFRAME HTML 不允许 javascript NET 框架 ASP      更新时间:2023-09-26

我有一个UserControl,它不是将标记放入其ascx标记文件中,而是在其代码后面重写render()以使用XSLT从XML生成XHTML。

我想渲染出一个iframe(作为一个技巧,以击败IE6的SELECT z-index错误),但一旦我编辑xslt呈现iframe, javascript错误发生在ASP。净的ScriptResource。axd输出(但不在Firefox中):

错误:系统。ArgumentNullException:值不能为空。参数名称:panelsCreated[0]

我在VS2010中调试时指示的行是if (e) throw e;

$type = Sys.WebForms.PageLoadedEventArgs = function PageLoadedEventArgs(panelsUpdated, panelsCreated, dataItems) {
    /// <summary locid="M:J#Sys.WebForms.PageLoadedEventArgs.#ctor">The arguments for the PageRequestManager's pageLoaded event. The pageLoaded event is raised after the DOM has been updated.</summary>
    /// <param name="panelsUpdated" type="Array">An array of UpdatePanels that were updated.</param>
    /// <param name="panelsCreated" type="Array">An array of UpdatePanels that were created.</param>
    /// <param name="dataItems" type="Object" mayBeNull="true"></param>
    var e = Function._validateParams(arguments, [
        {name: "panelsUpdated", type: Array},
        {name: "panelsCreated", type: Array},
        {name: "dataItems", type: Object, mayBeNull: true}
    ]);
    if (e) throw e;
    Sys.WebForms.PageLoadedEventArgs.initializeBase(this);
    this._panelsUpdated = panelsUpdated;
    this._panelsCreated = panelsCreated;
    this._dataItems = dataItems || new Object();
}

ASP。. NET是否有生成纯HTML IFRAME元素的问题?

更改scriptmanager的scriptmode以释放刚刚为我工作

在页面的OnInit方法中,我添加了这一行

ScriptManager.GetCurrent(Page).ScriptMode = ScriptMode.Release;

我通过在<iframe></iframe>中添加文本解决了这个问题。如果我有一个用户使用不支持iframe的浏览器,这个文本将被另一个元素覆盖!