ASP.NET项目中不允许使用Visual Studio警告内容 [英] Visual Studio Warning "Content is not allowed" in ASP.NET project
本文介绍了ASP.NET项目中不允许使用Visual Studio警告内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我上个月刚开始做程序员,所以我会有很多新手问题,敬请关注……我现在正在修改提供的模板(来自DevExpress),以便在Visual Studio 2008上使用ASP.NET 2.0创建新的Web表单。
当Web表单的功能存在时,我正在处理九十多条警告消息,其中大多数来自提供的模板。
其中一个让我困惑了一段时间,就是这个: "警告75元素‘ClientSideEvents’的开始标记和结束标记之间不允许有内容。"代码如下:
<dxe:ASPxListBox id="edtMultiResource" runat="server" width="100%"
SelectionMode="CheckColumn" DataSource='<%# ResourceDataSource %>' Border-BorderWidth="0">
<ClientSideEvents SelectedIndexChanged="function(s, e) {
var resourceNames = new Array();
var items = s.GetSelectedItems();
var count = items.length;
if (count > 0) {
for(var i=0; i<count; i++)
_aspxArrayPush(resourceNames, items[i].text);
}
else
_aspxArrayPush(resourceNames, ddResource.cp_Caption_ResourceNone);
ddResource.SetValue(resourceNames.join(', '));
}"></ClientSideEvents>
</dxe:ASPxListBox>
我自己看不出代码有任何错误,所以请在这里帮助我。
推荐答案
切坦·萨斯特里奇在他删除的答案中走上了正确的道路。您放入Html属性中的脚本不是Html编码的。
您必须对在HTML中具有特殊含义的任何字符进行编码,如<
、>
、&
和属性值的"
分隔符:
<dxe:ASPxListBox id="edtMultiResource" runat="server" width="100%"
SelectionMode="CheckColumn" DataSource='<%# ResourceDataSource %>' Border-BorderWidth="0">
<ClientSideEvents SelectedIndexChanged="function(s, e) {
var resourceNames = new Array();
var items = s.GetSelectedItems();
var count = items.length;
if (count > 0) {
for(var i=0; i<count; i++)
_aspxArrayPush(resourceNames, items[i].text);
}
else
_aspxArrayPush(resourceNames, ddResource.cp_Caption_ResourceNone);
ddResource.SetValue(resourceNames.join(', '));
}"></ClientSideEvents>
</dxe:ASPxListBox>
这篇关于ASP.NET项目中不允许使用Visual Studio警告内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文