Javascript onclick,其中包含变量MVC4
我有一个由模型生成的视图,作为任务列表。单击某个任务时,我希望javascript函数接收一个具有不同值的变量来执行Javascript onclick,其中包含变量MVC4,javascript,asp.net-mvc,variables,Javascript,Asp.net Mvc,Variables,我有一个由模型生成的视图,作为任务列表。单击某个任务时,我希望javascript函数接收一个具有不同值的变量来执行 @model IEnumerable<CreateAndApproveStockCode.Models.Task> <h3>Tasks</h3> @if (Model != null) { int num = 0; foreach (var task in Model) { num = task.n
@model IEnumerable<CreateAndApproveStockCode.Models.Task>
<h3>Tasks</h3>
@if (Model != null)
{
int num = 0;
foreach (var task in Model)
{
num = task.num;
<div class="tasksclick" onclick="callDetail("+num+")">
<div class="taskname">
@Html.DisplayFor(taskitem => task.name)
</div>
<div class="taskdes">
@Html.DisplayFor(taskitem => task.description)
</div>
</div>
}
}
<script type="text/javascript">
function callDetail(d)
{
var serviceUrl = "/Detail/Populate?d="+d;
var request = $.post(serviceUrl);
request.done(
function (data)
{
$("#detail").html(data);
}
);
}
</script>
@model IEnumerable
任务
@如果(型号!=null)
{
int num=0;
foreach(模型中的var任务)
{
num=task.num;
@DisplayFor(taskitem=>task.name)
@DisplayFor(taskitem=>task.description)
}
}
函数调用详细信息(d)
{
var serviceUrl=“/Detail/Populate?d=“+d;
var请求=$.post(serviceUrl);
请求完成(
功能(数据)
{
$(“#细节”).html(数据);
}
);
}
num变量从任务模型接收其值,该值需要传递给javascript变量d,以便可以根据该值刷新细节视图,但不会发生任何事情。因为
num
是一个C变量,并且您混合了HTML和“常规”代码,您需要告诉编译器您正在引用它管理的变量。不要连接字符串,只需添加@
:
<div class="tasksclick" onclick="callDetail(@num)">
或者,如果要传递字符串参数(这可能是您真正想要的):
<div class="tasksclick" onclick="callDetail('@num')">