我正在尝试设计一个查看新闻项列表的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;
}
}
看,我不知道。
答案 0 :(得分:0)
尝试预定义在循环中返回的文本。如果Web部件看起来没有基本文本(例如“Hello World”)但没有更高级的值,那么它就是您的问题所在。
您需要确保将适当的编码应用于要渲染到屏幕的任何输出,因为这可能会导致问题。