【发布时间】:2017-03-21 23:32:00
【问题描述】:
我不太确定是什么导致了这里的问题。我正在尝试使用 .load() 函数将视图加载到 Jquery 对话框中。在我的本地机器上一切正常,但在服务器上,最终创建的 URL 不正确,因为它将参数添加到 URL 两次。
链接是来自@item.GrouperIDForLookip 来自的网络网格的动态链接。
<div id="groupersDialog"></div>
<a id="GrouperField_@item.GrouperIDForLookup" class="grouper">Groupers</a>
...
<script>
$(".grouper").on("click", function () {
var id = $(this).attr("id").split("_")[1];
$('#groupersDialog').dialog({
autoOpen: true,
width: 1000,
height: 600,
resizable: true,
draggable: true,
title: "Groupers",
model: true,
show: 'slide',
closeText: 'x',
dialogClass: 'alert',
closeOnEscape: true,
open: function () {
//Load the Partial View Here using Controller and Action
$('#groupersDialog').load('/Home/_Groupers/?GroupIDForLookup=' + id);
},
close: function () {
$(this).dialog('close');
}
});
});
</script>
在我的本地机器上一切正常,加载的 URL 也正常。但是在服务器上运行它时,最终创建的 URL 是 %2fHome%2f_Groupers%2f%3fGroupIDForLookup%3d2&GroupIDForLookup=2,它加倍 GroupIDForLookup 给我一个 GET 404(找不到页面)。
有没有人碰巧知道会导致这种情况发生的原因?如果您需要更多代码,请告诉我。
【问题讨论】:
-
我不明白 Javascript 是如何做到这一点的。我怀疑问题是服务器上的重写规则。
-
问题在于加载函数中的 URL,尝试使用 @URL.Action("_Groupers", "Home")?GroupIDForLookup = id
-
@NagarajRaveendran 这确实成功了。我尝试了类似的方法,但在本地失败了。如果您愿意,请将此作为答案,我很乐意将其标记为正确。
标签: javascript jquery jquery-ui-dialog