我在 Razor 页面上有这个
索引.cshtml
@for (int i = 0; i < Model.Count(); i++)
{
var cars = Model.ElementAt(i);
<a href="@Url.Action("Cars","Home", new { id = cars.Id })">
}
我想使用 Jquery Ajax 在 javascript 中替换它。
$.ajax({
type: "Get",
url: '/Cars/Home',
data: {
id: $(this).attr("id")
},
dataType: "json",
success: function (data) {
for (var i = 0; i < data.length; i++) {
html1.push("<a href='Cars/Home', new { id = cars.Id })>");
html1.push("</a>");
}
$("#wraps").html(html1.join(""));
}
})
这给了我一个错误。然而,我该如何做这件事呢?
最佳答案
你的ajax调用看起来很奇怪。您告诉它获取 /Cars/Home/{id}
,然后当它返回时,您将创建许多指向 /Cars/Home/{someId}
的链接> (基于data
的长度),但你并没有真正使用data
的内容。
我假设您想将 HttpGet 发送到 /Cars/Home/
(不传递 id
),并且我假设这会返回一个 IEnumerable
code> (列表)某种类型(例如 Car
),然后创建指向每种类型的详细信息页面的所有链接,所有这些都使用 js。如果是这样,您可以这样做:
$.ajax({
type: 'GET',
url: '/Cars/Home',
dataType: 'json',
success: function (data) {
var links = [];
for (var i = 0; i < data.length; i++) {
var car = data[i];
links.push("<a href='/Cars/Home/" + car.Id + "'>Link to Car Id " + car.Id + "</a>");
}
$("#wraps").html(links.join(''));
}
})
关于javascript - JavaScript 中的 ASP MVC URL 操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35024179/