gpt4 book ai didi

javascript - 当前上下文中不存在名称 XXXX-Jquery

转载 作者:行者123 更新时间:2023-11-28 18:28:53 25 4
gpt4 key购买 nike

我有这个代码

function pickdet(Id) {
//alert(Id);
var dd = Id;
$.ajax({
cache: false,
url: "/PVSigns1/GetDetails",
data: { 'Id' : Id },
type: "GET",
dataType: "json",
success: function (data) {
//alert('i dey here')
var row = "";
$.each(data, function (index, item) {
//row += "<tr><td>" + item.VitalSigns.Sign + "</td><td>" + item.SignValue + "</td><td> <input type= 'button' onclick= location.href = + '<Url.Action("Create", "PVSigns1", new { Id = item.PVSignId }) ' />" + "</td></tr>";
row += "<tr><td>" + item.VitalSigns.Sign + "</td><td>" + item.SignValue +
"</td><td> <button class='btn btn-xs btn-success' onclick = '@Url.Action("Create","PVSigns1", new { Id = item.PVSignId })'> <i class='fa fa-edit fa-lg'></i> Edit</button></td></tr>";
});
$("#pvv").html(row);
},
error: function (result) {
$("#pvv").html('Nothing to show <br /> <p />' + result );
}
});
}

问题是它指向 at eh 项目并提示“该名称项目在当前上下文中不存在”。该错误发生在@Url.Action之后,其他之前都可以。

"</td><td> <button class='btn btn-xs btn-success' onclick = '@Url.Action("Create","PVSigns1", new { Id = item.PVSignId })'> <i class='fa fa-edit fa-lg'></i> Edit</button></td></tr>";

最佳答案

看这一行,

@Url.Action("Create","PVSigns1", new { Id = item.PVSignId })

但是在您的代码中,item 是循环内的 JavaScript 变量。 您无法将 javascript 变量传递给 Url.Action 方法,因为 Url.Action 代码将在服务器中提前执行(那时它不知道页面将要进行的 future ajax 调用!!!)

解决方案是使用 Url.Action 的另一个重载来构建 Create 操作方法的基本 url,并附加 javascript 变量属性并使用它。

此外,将 onclick 事件设置为 url 可能不起作用。您可以考虑向按钮添加一个 click 事件并重定向到 url。您可以将 url 保留在 html 5 data 属性中。

 var baseLink='@Url.Action("Create","PVSigns1")';
$.each(data, function (index, item) {
var link=baseLink+item.PVSignId;
row += "<tr><td>" + item.VitalSigns.Sign + "</td><td>" + item.SignValue +
"</td><td> <button class='editBtn' data-url='"+link+"'>
<i class='fa fa-edit fa-lg'></i> Edit</button></td></tr>";
});

并使用一些 jQuery 代码来监听此按钮上的单击事件并重定向到我们的数据属性中的 url

$(function(){

$("button.editBtn").click(function(e){
e.preventDefault();
window.location.href=$(this).attr("url");
});

});

关于javascript - 当前上下文中不存在名称 XXXX-Jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38530159/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com