我有一个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的浏览器,这个文本将被另一个元素覆盖!