Jquery 名称';按钮';在当前MVC上下文中不存在
我在这行的“按钮”上看到标题错误:Jquery 名称';按钮';在当前MVC上下文中不存在,jquery,asp.net-mvc,json,Jquery,Asp.net Mvc,Json,我在这行的“按钮”上看到标题错误: $(this).load("@Url.Action("defectsPartial", new { id = button})"); 在我的脚本中: <script> $(function () { $("#myModal").dialog({ autoOpen: false, height: 600, width: 700,
$(this).load("@Url.Action("defectsPartial", new { id = button})");
在我的脚本中:
<script>
$(function () {
$("#myModal").dialog({
autoOpen: false,
height: 600,
width: 700,
modal: true,
open: function (event, ui) {
var button = document.getElementById("button").value;
$(this).load("@Url.Action("myPartial", new { id = button})");
},
buttons:{
"Close": function () {
$(this).dialog("close");
}
}
});
$(".launch").click(function () {
$("#myModal").dialog("open");
});
});
</script>
$(函数(){
$(“#myModal”)。对话框({
自动打开:错误,
身高:600,
宽度:700,
莫代尔:是的,
打开:功能(事件、用户界面){
var button=document.getElementById(“按钮”).value;
$(this.load(“@Url.Action(“myPartial”,new{id=button})”);
},
按钮:{
“关闭”:函数(){
$(此).dialog(“关闭”);
}
}
});
$(“.launch”)。单击(函数(){
$(“#myModal”)。对话框(“打开”);
});
});
这是按钮的功能:
@foreach (var item in Model)
{
<tr>
<td>
@Html.DisplayFor(modelItem => item.Id)
</td>
<td>
@Html.DisplayFor(modelItem => item.Title)
</td>
<td>
<button class="launch" value= "@item.Id" id="button">Go</button>
</td>
</tr>
}
@foreach(模型中的变量项)
{
@DisplayFor(modeleItem=>item.Id)
@DisplayFor(modeleItem=>item.Title)
去
}
您使用按钮作为变量,但它必须是字符串
$(this).load('@Url.Action("defectsPartial", new { id = "button"})');
另外,我不确定是否有像按钮这样的html元素。也许您应该使用
?。Javascipt变量在razor中不可访问
这样做:
var url = '@Url.Action("defectsPartial")';
url = url+"?id="+button;
$(this).load(url);
问题是,Url.Action在razor视图的编译时得到评估,但button变量是javascript,它在客户端得到评估
您必须手动添加id:
<script>
$(function () {
$("#myModal").dialog({
autoOpen: false,
height: 600,
width: 700,
modal: true,
open: function (event, ui) {
var button = document.getElementById("button").value;
$(this).load("@Url.Action("myPartial")" + button);
},
buttons:{
"Close": function () {
$(this).dialog("close");
}
}
});
$(".launch").click(function () {
$("#myModal").dialog("open");
});
});
</script>
$(函数(){
$(“#myModal”)。对话框({
自动打开:错误,
身高:600,
宽度:700,
莫代尔:是的,
打开:功能(事件、用户界面){
var button=document.getElementById(“按钮”).value;
$(this.load(“@Url.Action(“myPartial”)”+按钮);
},
按钮:{
“关闭”:函数(){
$(此).dialog(“关闭”);
}
}
});
$(“.launch”)。单击(函数(){
$(“#myModal”)。对话框(“打开”);
});
});
您不能在c#code中使用js变量有一个按钮
元素,它允许比输入类型='button'更灵活的格式设置。
。