我有一个控件(ImageButton),它在后面的代码中设置了ToolTip属性。控件驻留在UserControl中,该控件连接到Repeater Control。我将一些数据传递给HTML格式的ImageButton工具提示:
public static string BuildPaymentToolTip(List<PaymentView> payments)
{
string toolTip = string.Empty;
string header = "<table><tr><td>Payment Id</td><td>Payment Amount</td><td>Comment</td><td>Status</td><td>Pull Date</td><td>Created Date</td></tr>";
foreach (var p in payments)
{
toolTip = toolTip +
"<tr><td>" + p.Id +
"</td><td>" + string.Format("{0:N2}", p.PaymentAmount) +
"</td><td>" + Helper.TruncateString(p.Comment, 50, "...") +
"</td><td>" + ((PaymentTrackingStatusEnum)p.PaymentTrackingStatusId).ToString() +
"</td><td>" + (p.PaymentPullDate.HasValue ? p.PaymentPullDate.Value.ToShortDateString() : String.Empty) +
"</td><td>" + p.CreateDate.ToShortDateString() +
"</td></tr>";
}
return header + toolTip + "</table>";
}
它正在被正确发送,但是被呈现为纯文本而不是HTML ...
问题是我有另一个页面,基本上使用相同类型的帮助程序类,但工具提示正确地以HTML格式显示它。唯一的区别是这是一个常规的aspx页面,而那个不工作的页面是ascx。有没有理由这会产生影响?
谢谢!
编辑:
这是一个有效的。这个是将用户信息输出到不同的ImageButton元素。
public string BuildToolTipUserInformation(int createdById, DateTime createDate, int lastUpdatedById, DateTime lastUpdatedDate)
{
string toolTip = string.Empty;
var helper = new UserInfoHelper();
string userName = helper.GetCreatedByFullUserName(createdById);
string lastUpdatedBy = helper.GetUpdatedByFullUserName(lastUpdatedById);
toolTip = "<table><tr><td>User Information:</td></tr><tr><td>Created By: </td><td>" + userName +
"</td></tr><tr><td>Created Date:</td><td>" + createDate +
"</td></tr><tr><td> Last Updated By:</td><td>" + lastUpdatedBy +
"</td><tr><td>Last Updated Date:</td><td>" + lastUpdatedDate +
"</tr></td></tr></table>";
return toolTip;
}