使用JavaScript导航到另一个页面
我是MVC新手,当我用JavaScript点击一个div时,我想进入与该div相关的详细页面。我的JavaScript和控制器代码如下,我得到了一个错误。我在哪里犯错误 我的JavaScript代码:使用JavaScript导航到另一个页面,javascript,jquery,asp.net-mvc,Javascript,Jquery,Asp.net Mvc,我是MVC新手,当我用JavaScript点击一个div时,我想进入与该div相关的详细页面。我的JavaScript和控制器代码如下,我得到了一个错误。我在哪里犯错误 我的JavaScript代码: <script> $('div.ProjePartialGovde').click(function (el) { var projeid = $(this).data('id'); $.ajax({ method: "get", u
<script>
$('div.ProjePartialGovde').click(function (el) {
var projeid = $(this).data('id');
$.ajax({
method: "get",
url: '@Url.Action("Detay", "Proje")',
data: { ID: projeid }
})
.done(function (msg) {
window.location.href = '@Url.Action("Detay", "Proje")' + "projeID=" + projeid;
})
});
编辑:我更改了JavaScript代码,如下所示:
<script>
$('div.ProjePartialGovde').click(function (el) {
var projeid = $(this).data('id');
alert(projeid);
(function(){
Html.ActionLink("Detay", "Proje", new { ID: projeid });
})
});
$('div.ProjePartialGovde')。单击(函数(el){
var projeid=$(this.data('id');
警报(projeid);
(功能(){
ActionLink(“Detay”,“Proje”,新的{ID:projeid});
})
});
重定向到页面不需要ajax 将其更改为:
$('div.ProjePartialGovde').click(function (el) {
var projeid = $(this).data('id');
window.location.href = '@Url.Action("Detay", "Proje")' + "?ID=" + projeid;
});
我犯了个错误什么错误!(您创建了一个名为
projeID
的查询字符串参数,但它必须是id
,才能与方法中的参数相匹配)以及为什么要进行ajax调用以返回视图,但从未对其执行任何操作。如果您想重定向,不要使用ajax。重定向到另一个操作需要表单提交或锚定链接-记住PRG模式。AJAX调用旨在返回同一页面上的操作结果,而不是重定向到其他页面,即使您正在使用AJAX成功部分中的window.location.href
。我正确获得了projectid。但这可能是拜比里米德所赐。我不太懂JavaScript语法。他们给了我准备好的代码,我试图更改它。如果你想“转到详细信息页面”,那么使用@Html.ActionLink(“action”,“controller”,new{ID=item.ID})
其中item
是你用来创建行的循环的变量,ID
是projeid属性。(如果没有生成行的代码,这只是猜测)您根本不需要任何javascript—将div更改为锚点。(但我想这取决于div是什么,没有详细说明)。@freedomn-m我没有使用任何ajax,OP也没有分享他的HTML。“ajax”是一个拼写错误的javascript,并且已经添加了它依赖于HTML的注释。
$('div.ProjePartialGovde').click(function (el) {
var projeid = $(this).data('id');
window.location.href = '@Url.Action("Detay", "Proje")' + "?ID=" + projeid;
});