【发布时间】:2016-02-20 13:10:27
【问题描述】:
我有以下代码 -
@model MyFirstProject.Models.Product
<script type="text/javascript">
function AtC(prodid) {
var url = "/Shopping/AddToCart/";
$.post(url, { pID: prodid });
}
</script>
<table style="background-color:gray; padding:20px;">
<tr>
<td>
<h3 align="center">@Model.Title</h3>
<p align="center" style="color:white">@Model.UploadDate.Day.@Model.UploadDate.Month.@Model.UploadDate.Year</p>
<p align="center">@Model.ShortDescription</p>
</td>
</tr>
<tr>
<td>@Html.ActionLink("Add to cart", "Index", "Shopping", null, new {onclick = "AtC()", @style="color: White;" })</td>
<td>@Html.ActionLink("Show product details", "ProductDetails", new {pID = Model.ProductID}, new { @style = "color: White;" })</td>
</tr>
</table>
我需要向 AtC 函数发送一个 int:Model.ProductID。我已经尝试了几种方法来修复它,但没有任何效果。请帮忙,因为我不知道该怎么办。
更新 谢谢 pλul' 这正是我所需要的! 我的问题解决了!
【问题讨论】:
-
尝试写javascript:AtC();取而代之的是“索引”、“购物”。让我快速编辑一下:现在发生的事情是您要访问一个链接而不是激活 javascript 函数(您正在同时执行这两项操作)并且此页面移动正在干扰您的函数运行
-
这会起作用:new {onclick = "AtC(" + @Model.ProductID + ")" 虽然使用 ActionLink 没有任何意义,因为您没有对 ActionLink 做任何事情除了添加 onclick 处理程序
标签: javascript c# asp.net-mvc razor onclick