我在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>