mam to moim zdaniem:Wywołanie Q-Tip w JS dla każdego elementu w foreach problemu
<%--
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>
<% } %>
kiedy najechaniu na każdej nazwy modułu szkoleniowego chcę Q-Tip, aby pokazać.
Następnie 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());
}
}
teraz parametr wiadomości może być tylko dowolny ciąg Czy ktoś mi wyjaśnić, w jaki sposób jej będzie pracować, aby pokazać Q-Tip dla każdego modułu szkoleniowego id? parametr wiadomość zostanie później zawierać punkty specyficzne dla każdego modułu ID szkolenia składa się w ciąg html
dzięki
Nowe pytania: czy chcesz pominąć ":" dla swojego "<%"? Czy nie powinno to być '<%: Html.GetQTip'? Może to był literówka, a może to niepotrzebne. Ponadto, dlaczego używasz składni 'position: QTipPosition.Right'? Po co włączać "pozycję:"? – Ian
Edytowałem ponownie mój OP :) Teraz mam coś nie tak z listą parametrów –
Czy 'module.TrainingModuleId' jest int lub string? Może to mieć większe znaczenie, ponieważ przekazujesz go do funkcji, która oczekuje pewnych typów. Zastanawiam się również, czy 'QTipPosition.Right' jest dostępny/ważny w tym kontekście. Nie wiedziałbym. Spróbuj zastąpić deklarację funkcji jako zezwalającą na łańcuch, a następnie przekazując ciąg - wystarczy sprawdzić, czy to jest problem. – Ian