Javascript .加载并启动新路径

Javascript .加载并启动新路径,javascript,jquery,asp.net-mvc-4,Javascript,Jquery,Asp.net Mvc 4,在我的项目中,我试图向我的一个视图添加一个模式引导,我使用.load()加载该视图,问题是当我尝试加载视图时,它只显示为黑色,我尝试使用console.log()查看错误,我看到了这一点 http://localhost:38212/Desafios/Details/Solucoes/Details?id=14 当我单击div触发模式时,我处于/Desafios/Details,我想转到/Solucoes/Details,而不是所有的url,我不想将.load()url添加到我之前的url中。我

在我的项目中,我试图向我的一个视图添加一个模式引导,我使用
.load()
加载该视图,问题是当我尝试加载视图时,它只显示为黑色,我尝试使用
console.log()
查看错误,我看到了这一点

http://localhost:38212/Desafios/Details/Solucoes/Details?id=14

当我单击div触发模式时,我处于
/Desafios/Details
,我想转到
/Solucoes/Details
,而不是所有的url,我不想将
.load()
url添加到我之前的url中。我该怎么做

这是我的jquery函数

$("#VisualizarSolucao").click(function (event) {
    var id = $(this).attr("data-id");
    $("#modal").load("../Solucoes/Details?id=" + id, function () {
        $("#modal").modal();
    })
    event.preventDefault()
});
我将js加载到一个外部文件中,下面是在click事件中调用的VisualizarSolucao id

<div class="col-md-10" style="border-left:2px solid black">
    <p style="text-align:left;padding-top:5px">
        <a href="" id="VisualizarSolucao" data-id="@i.SolucaoId" style="font-weight:900">@i.SolucaoTitulo</a>
    </p>
    <br />
    <div class="col-md-offset-4 col-md-8" style="text-align:right">
        <text>Criado por <a href="#">@i.User.UserName</a> no dia @i.DataCriacao</text>
    </div>
</div>


Criado por no dia@i.datacriaco
函数
.load()
中的url需要是
“/Solucoes/Details?id=“+id
,但是您应该始终使用
@url.Action()
方法来确保正确生成url

由于脚本位于外部文件中,并且razor代码不在外部文件中解析,因此将您的html更改为

<a href="#" class="VisualizarSolucao" data-url="@Url.Action("Details", "Solucoes", new { id = i.SolucaoId })">

始终使用UrlHelper方法-
.load('@Url.Action(“Details”,“Solucoes”),{id:id},function(){
仍在运行,并给出相同的错误:该脚本在视图中还是外部文件?它是外部文件为什么?然后在问题中解释这一点(因为它很重要)。并显示您当前如何使用
id=“VisualizarSolaco”
生成元素。现在它不会加载任何内容,甚至连模式的黑色窗口也不会出现:/当然,如果您的其他代码正确,它会加载。
详细信息()
SolucoesController的方法-它被击中了吗?脚本上的url未定义,那么您没有正确复制我答案中的代码。
$('.VisualizarSolucao').click(function() { // class name selector
    var url = $(this).data('url'); // use data(), not attr()
    $("#modal").load(url, function () {
        $("#modal").modal();
    })
});