asp.net - ASP.NET 项目中的 Visual Studio 警告 "Content is not allowed"

标签 asp.net javascript visual-studio-2008 devexpress

我上个月刚刚开始作为一名程序员工作,所以会有很多新手问题来 self ,请继续关注...我现在正在修改提供的模板(来自 DevExpress)以使用以下命令创建新的 Web 表单Visual Studio 2008 上的 ASP.NET 2.0。

虽然该网络表单的功能已经存在,但我正在摆脱九十条警告消息,其中大多数来自提供的模板。

其中一个让我困惑了一段时间的是这个: “警告 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>

我自己看不出代码有什么问题,所以请帮助我。

最佳答案

Chetan Sastry 的回答是正确的,但他删除了。您放入 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 &gt; 0) {
                                        for(var i=0; i&lt;count; i++) 
                                            _aspxArrayPush(resourceNames, items[i].text);
                                    }
                                    else
                                        _aspxArrayPush(resourceNames, ddResource.cp_Caption_ResourceNone);
                                    ddResource.SetValue(resourceNames.join(', '));
                                }"></ClientSideEvents>
                            </dxe:ASPxListBox>

关于asp.net - ASP.NET 项目中的 Visual Studio 警告 "Content is not allowed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2511583/

相关文章:

javascript - 如何使用ajax使用post并定位它的url

javascript - Jquery - 将文本存储在变量中

C++:如果抛出异常,超出范围的对象是否被销毁?

c# - 将数据列表添加到 View 状态

javascript - 从asp :LinkButton's CommandArgument attribute using jquery/javascript获取值

javascript - 如何正确格式化复选框。 (最适合 jquery 和 crossbrowser)

c++ - opengl中对象的旋转

visual-studio-2008 - 无法在 Visual Studio 2008 中使用 Nsight 进行 "Attach to Process"调试

c# - Asp.NET MVC 中的强类型 View 与普通 View 与局部 View

c# - 如何在Asp.net和C#中将GridView数据导出到pdf文件?