【问题标题】:Server Tags with HTML and Code Blocks inside内含 HTML 和代码块的服务器标签
【发布时间】:2018-10-18 21:09:27
【问题描述】:

我正在尝试做这样的事情:

<asp:ListItem><div><%= Message.Success %></div></asp:ListItem>

但它给了我这个错误:

ASP.NET 运行时错误:此上下文不支持代码块。

关于如何解决此错误的任何想法?

【问题讨论】:

    标签: c# asp.net runatserver server-tags


    【解决方案1】:

    您需要在控件<%# %> 中使用绑定表达式。

    <asp:ListView ID="ListView1" runat="server">
        <ItemTemplate>
            <div>
                <%# Message.Success %>
            </div>
        </ItemTemplate>
    </asp:ListView>
    

    但是这在ListItem 中不起作用。如果要显示 Message.Success,则需要使用代码添加该项目。

    DropDownList1.Items.Add(new ListItem() { Text = Message.Success, Value = "0" });
    

    【讨论】:

    • DropDownList1.Items.Add(new ListItem() { Text = "&lt;div&gt;" + Message.Success + "&lt;/div&gt;", Value = "0" }); 工作吗?
    • 否,因为您不能在 ListItem 中使用 html 元素。它只会明显呈现为&lt;div&gt;Message&lt;/div&gt;
    • 谢谢。我正在构建一种 html 生成器,你知道还有其他不接受 html 的服务器元素吗?或者在哪里可以找到它们?
    • 我认为只有使用 ListItem 中键值对的控件(如下拉列表、复选框、单选按钮等)。
    猜你喜欢
    • 2011-08-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-01
    相关资源
    最近更新 更多