0

我已经看到这里解决了一些类似的问题,但我还没有找到解决方案。

我有一个 .NET MVC 项目,在某些电脑上我无法在 .load() 调用后执行 javascripts。

我有:

  • 页面 RealtimeAlarms
  • ascx 组件 AlarmsList
  • 一个javascript文件Alarms.js

RealtimeAlarms 加载所有需要的 js,并使用以下方式渲染 ascx 组件:

<script type="text/javascript" src="<%: ResolveUrl("~/Scripts/Alarms.js") %>"></script>
....
....
<input type="text" id="Like" />
<img alt="Filter" src="<%: ResolveUrl("~/Content/Images/Search.png") %>" class="clickable" onclick="FilterAlarms()" />
....
....
Html.RenderAction("AlarmsList", "Alarms", new {Like = ""});

Alarms.js 看起来像这样:

function FilterAlarms() {

    var data = {};
    data.Like = $('#Like').val();

    $("#AlarmsDiv").html("");
    $("#AlarmsDiv").load(BaseUrl + "Alarms/RealtimeAlarms #content", data, function  (responseText, textSatuts, XMLHttpRequest) {    });
}

function ShowUsers(id)
{ 
   ....
}

我的 RealtimeAlarms 组件:

foreach(var alarm in ViewData.Model)
   { %>
    <li onclick="ShowUsers(<%: alarm.Id %>)"><%: alarm.Description %></li>
<% } %>

当我第一次加载页面时,它总是运行良好。ShowUsers() 总是有效的。

当我点击过滤器时,我的问题就开始了。FilterAlarms() 总是返回正确的列表。在某些电脑上 ShowUsers() 停止工作,甚至不再调用它。

使用相同的浏览器(我尝试使用 Chrome 和 IE9),在某些电脑上 ShowUsers() 总是可以正常工作,而在其他一些电脑上它在 FilterAlarms() 之后停止工作。使用相同的数据。

感谢大家的任何建议。

4

0 回答 0