Listitem的li.Value不呈现HTML而是显示代码

时间:2017-05-24 12:10:13

标签: c# asp.net webforms

我在WebForms ASP.NET C#应用程序上使用管理仪表板,该模板适用于列表ul中显示的通知。我已经创建了通知类,并且能够创建和关闭通知,但是以模板提供的漂亮格式显示这些通知证明是令人头疼的 - 我花了太多时间在这么简单的任务上!通知数据正确拉动,我只需要整理显示。我必须考虑到li的内部HTML必须存储基于通知类型等动态生成的HTML。

这是site.master asp代码:

<ul class="dropdown-menu">
    <li>
        <asp:BulletedList ID="notificationList" CssClass="dropdown-menu-list scroller" runat="server" style="height: 250px;" data-handle-color="#637283">
        </asp:BulletedList>
    </li>
</ul>

这是它背后的c#代码:

string preTime = "< a href = \"javascript:;\" > < span class=\"time\">";
string preIcon = "</span>< span class=\"details\">";
string newOfferIcon = "<span class=\"label label-sm label-icon label-success\"><i class=\"fa fa-plus\"></i></ span > ";
string acceptOfferIcon = "<span class=\"label label-sm label-icon label-success\"><i class=\"fa fa-check\"></i></ span > ";
string declineOfferIcon = "<span class=\"label label-sm label-icon label-warning\"><i class=\"fa fa-times-circle\"></i></ span > ";
string postMessage = "</span></ a >";
foreach (var message in notices)
    {
        ListItem li = new ListItem();
        TimeSpan difference = currentTime - message.notificationDate;

        li.Value = preTime + time + preIcon + declineOfferIcon + message.notificationMessage + postMessage;
        notificationList.Items.Add(li); // add the new li element to the notifications list
    }

为了匹配模板的结构,我在必要时通过连接添加链接和跨度。目前它正在对字符串中的HTML进行编码,输出是纯HTML。

我愿意根据需要提供有关重组的建议,我唯一的要求是保持输出的li元素和HTML结构如下:

<li>
    <a href="javascript:;">
        <span class="time">just now</span> <!-- time string -->
        <span class="details">
            <span class="label label-sm label-icon label-success"> <!-- this line changes programmatically -->
                <i class="fa fa-times-circle "></i>
            </span> 
            New user registered. <!-- message string -->
        </span> 
    </a>
</li>

0 个答案:

没有答案