Sharepoint Webpart中的JScript运行时错误

时间:2013-02-10 17:19:18

标签: c# jquery sharepoint

我正在尝试设计一个查看新闻项列表的webpart,并且最初按日期按顺序打印所有行。如果用户选择一种新闻项目,则仅显示那些新闻项目(再次按日期顺序)。问题是,当我尝试调试它时,我的webpart不断抛出此错误:

Microsoft JScript运行时错误:未知的运行时错误

这个混乱背后隐藏起来:

    RTE.RteUtility.$1n = function($p0, $p1) {
if (RTE.RteUtility.isInternetExplorer() && $p0.tagName === 'TABLE') {
    var $v_0 = document.createElement('DIV');
    $v_0.innerHTML = '<table>' + $p1 + '</table>';
    while ($p0.childNodes.length > 0) {
        $p0.removeChild($p0.childNodes[0]);
    }
    RTE.RteUtility.$1E($v_0.firstChild, $p0);
}
else {
    $p0.innerHTML = '<div>RTE</div>' + $p1;
    $p0.removeChild($p0.firstChild);
}
}

这一行:“$ p0.innerHTML ='RTE'+ $ p1”似乎导致了这个问题。好吧,否则,这是一个非常具体的错误消息,感谢微软。 :/

在NewsFeed.cs调用CreateChildControls之后,似乎发生了错误。我现在最好的理论可能是NewsFeedUserControl.ascx.cs中出现错误,但由于我是SharePoint的新手,我不知道那可能是什么。是因为Page_Load中的这段代码吗?

protected void Page_Load(object sender, EventArgs e) { list = web.Lists["NewsFeedLI"];

         query.Query = "<Where><IsNotNull><FieldRef Name='Headline' /></IsNotNull></Where></Query>" +
               "<OrderBy<FieldRef Name='Article_x0020_Date' Ascending='True' /></OrderBy>";

         SPListItemCollection result = list.GetItems(query);


        foreach (SPListItem item in result)
        {
            newsList.Text = newsList.Text + item["Headline"].ToString() + Environment.NewLine;
            newsList.Text = newsList.Text + item["Summary"].ToString() + Environment.NewLine + Environment.NewLine;
        }
    }

query.Query = "<Where><IsNotNull><FieldRef Name='Headline' /></IsNotNull></Where></Query>" + "<OrderBy<FieldRef Name='Article_x0020_Date' Ascending='True' /></OrderBy>"; SPListItemCollection result = list.GetItems(query); foreach (SPListItem item in result) { newsList.Text = newsList.Text + item["Headline"].ToString() + Environment.NewLine; newsList.Text = newsList.Text + item["Summary"].ToString() + Environment.NewLine + Environment.NewLine; } }

看,我不知道。

1 个答案:

答案 0 :(得分:0)

尝试预定义在循环中返回的文本。如果Web部件看起来没有基本文本(例如“Hello World”)但没有更高级的值,那么它就是您的问题所在。

您需要确保将适当的编码应用于要渲染到屏幕的任何输出,因为这可能会导致问题。