在局部视图中,我有以下几行脚本:
<script type="text/javascript">
$(document).ready(function() {
$('#randomCard').click(function () {
alert("button clicked!");
$.get("@Url.Action("GetRandomCard")", {}, function (data) {
$('#rightSide').html(data);
});
});
})
</script>
这会在我的控制器中调用一个Get方法,该方法从数据库中返回一张随机卡。在chrome中,这种方法100%正常工作。 Firefox也会在100%的时间内触发事件。但是在IE中,当警报总是弹出时,动作才会被触发一次。
有人可以帮我找出原因吗?
修改
根据大家的建议,我调试了我的会话,这让我意识到html数据正在被添加,而不是被替换。我创建了一个上部div #rightSide
,它可以更新数据,从而解决了这个小问题。
然而,IE调用局部视图控制器方法的问题仍然存在,我感谢大家帮忙解决这个问题。
答案 0 :(得分:0)
在IE中启动调试器。跑,看看失败了。
如果$ .get(...)出错,请捕获。
(我打赌randomCard-control是一个锚链接,并且有一个微妙的错误让锚点再次获得页面。)
不要忘记发表你的发现。
答案 1 :(得分:0)
即使不是
$(document).ready(function() {
$('#randomCard').click(function (e) {
e.preventDefault();
alert("button clicked!");
//etc