使用ASP.NET MVC3的Lync / Communicator / Sharepoint Presence控件

时间:2011-09-01 14:07:57

标签: javascript asp.net-mvc asp.net-mvc-3 sharepoint lync

我目前正在将我们的业务网站从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'未定义

我不知道该怎么办。有没有人有任何想法?

好的,我发现了问题。从Microsoft发送的Javascript语法错误导致javascript中断并且无法正确加载。我在IE9()中使用Web工具观察控制台输出时偶然发现了它。无论如何,它现在已经修好了!

0 个答案:

没有答案