私はこれを私の見解で持っています:
<%--
The training module list
--%>
<div id="training-mod-list-<%: categoryName.Replace(' ', '-') %>" class="training-module-list">
<% foreach (var module in categoryGroup)
{ %>
<div class="training-module-row">
<div class="training-module-name-<%: module.TrainingModuleId %>">
<script type="text/javascript">
<%: Html.GetQTip(module.TrainingModuleId, "", "", QTipPosition.Right,true,""); %> //get error here it has some invalid arguments?
</script>
<%: module.TrainingModuleName %>
</div>
</div>
<% } %>
各トレーニング モジュール名にカーソルを合わせると、QTip が表示されます。
次に GetQtip:
public static MvcHtmlString GetQTip(this HtmlHelper htmlHelper, string propertyName, string message, string propertyNameOverride = "", QTipPosition position = QTipPosition.Right, bool includeEvents = true, string title = "")
{
string qtipPosition = String.Empty;
switch (position)
{
case QTipPosition.Right:
qtipPosition = "my: 'left center', at: 'right center'";
break;
case QTipPosition.Left:
qtipPosition = "my: 'right center', at: 'left center'";
break;
case QTipPosition.Top:
qtipPosition = "my: 'top middle', at: 'bottom middle'";
break;
case QTipPosition.Bottom:
qtipPosition = "my: 'bottom middle', at: 'top middle'";
break;
}
if (!String.IsNullOrWhiteSpace(propertyNameOverride))
propertyName = propertyNameOverride;
if (String.IsNullOrWhiteSpace(title))
title = htmlHelper.Resource(Resources.Global.Title.Information);
StringBuilder sb = new StringBuilder();
sb.Append(String.Concat("$('#", propertyName, "').removeData('qtip').qtip({content: {text:"));
sb.Append(String.Concat("'", message, "', title: { text: '", title, "', button: false }}, position: { ", qtipPosition, " }"));
if (includeEvents)
sb.Append(", show: { event: 'focus mouseenter', solo: true, ready: false }, hide: 'blur'");
sb.Append(", style: { classes: 'ui-tooltip-shadow ui-tooltip-yellow' } });");
return new MvcHtmlString(sb.ToString());
}
}
今のところ、メッセージ パラメータは任意の文字列にすることができます。トレーニング モジュール ID ごとに qtip を表示する方法を説明してもらえますか? メッセージ パラメータには、後で HTML 文字列で構成された各トレーニング モジュール ID に固有のポイントが含まれます。
ありがとう