Управление присутствием Lync / Communicator / Sharepoint с использованием ASP.NET MVC3 - PullRequest
1 голос
/ 01 сентября 2011

В настоящее время я конвертирую наш бизнес-сайт из ASP.NET WebForms в ASP.NET MVC3.В настоящее время я пытаюсь включить индикатор присутствия для моих пользователей так же, как мы использовали WebForms.В WebForms мы использовали файл с именем NameControl.js (полученный от Microsoft) с кодом сайта следующим образом:

<ItemTemplate>
    <span class="presence">
        <asp:Image Style="" ID="PresenceImage" runat="server" ImageUrl="~/Common/Images/Shady/Presence/presence_16-unknown.gif" />
    </span>
</ItemTemplate>

и с кодом:

private void SetPresence(GridViewRow row, int PRESENCE_COL, string sip)
{
    Image presenceImage = row.FindControl("PresenceImage") as Image;

    if (string.IsNullOrEmpty(sip))
        presenceImage.Visible = false;
    else
    {
        presenceImage.Attributes.Add("onload", "PresenceControl('" + sip + "');");
    }
}

И этоработает нормально.Итак, вернемся к исходному вопросу.В настоящее время я перечисляю своих пользователей, использующих WebGrid, и вот мой код присутствия из моего представления (внутри WebGrid):

grid.Column("Sip", header: "", format: @<text><span class="presence"><img id="@item.ObjectGuid" src="@Url.Content("~/Content/Images/Shady/Presence/presence_16-unknown.gif")" onload="PresenceControl("@item.Sip")" alt="" /></span></text>),

То, что в настоящее время происходит, просто, ничего.Выход из кавычек ничего не делает, оставляя их без изменений.Когда я пытаюсь использовать '@item.Sip' вместо "@item.Sip", я получаю сообщение об ошибке:

Ошибка времени выполнения Microsoft JScript: «PresenceControl» не определен

I'mв недоумении, что делать.У кого-нибудь есть идеи?

ОК, я нашел проблему.Javascript, поставляемый Microsoft, имел синтаксическую ошибку, из-за которой он сломался и не загрузился должным образом.Я наткнулся на это с помощью веб-инструментов в IE9 (), наблюдая за выводом консоли.В любом случае, это исправлено сейчас!

...