Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript c#asp.net mvc-使用参数从html.actionlink调用脚本函数_Javascript_C#_Asp.net Mvc_Razor_Onclick - Fatal编程技术网

Javascript c#asp.net mvc-使用参数从html.actionlink调用脚本函数

Javascript c#asp.net mvc-使用参数从html.actionlink调用脚本函数,javascript,c#,asp.net-mvc,razor,onclick,Javascript,C#,Asp.net Mvc,Razor,Onclick,我有以下代码- @model MyFirstProject.Models.Product <script type="text/javascript"> function AtC(prodid) { var url = "/Shopping/AddToCart/"; $.post(url, { pID: prodid }); } </script> <table style="background-color:gr

我有以下代码-

@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>
@model MyFirstProject.Models.Product
功能AtC(prodid){
var url=“/Shopping/AddToCart/”;
$.post(url,{pID:prodid});
}
@模型名称

@Model.UploadDate.Day.@Model.UploadDate.Month.@Model.UploadDate.Year

@Model.ShortDescription

@ActionLink(“添加到购物车”、“索引”、“购物”,null,新的{onclick=“AtC()”,@style=“color:White;”) @ActionLink(“显示产品详细信息”,“产品详细信息”,新的{pID=Model.ProductID},新的{@style=“color:White;”)
我需要向AtC函数发送一个int:Model.ProductID。我试过几种方法来修复它,但都不管用。请帮忙,因为我不知道该怎么办

更新 谢谢,这正是我需要的! 我的问题解决了

这应该行得通

@Html.ActionLink("Add to cart", "Index", "Shopping", null, 
                     new { onclick = "AtC("+Model.ProductID+")", @style = "color: red;" })
我个人更喜欢使用不引人注目的javascript,这样我的标记就不会直接调用javascript方法。为此,我们将向链接添加一个Id

由于您正在使用Shopping/AddToCart方法进行发布,因此在构建操作链接时可以使用这两种方法

@Html.ActionLink("Add to cart", "AddToCart", "Shopping", new {@id=Model.ProductID},
                                          new { @id="addToCart", style = "color: green;" })
现在在javascript中,听一下id为“addToCart”的锚定标记的点击事件,然后发表ajax文章

$(function(){

   $("a#addToCart").click(function(e){
      e.preventDefault();
      $.post($(this).attr("href"),function(response){
          console.log(response);
      });    
   });

});
如果你想发送额外的信息,你可以把它们作为html5数据属性保存在你的链接中,并根据需要使用它们

@Html.ActionLink("Add to cart", "AddToCart", "Shopping", new { @id = Model.ProductID},
                  new { @id = "addToCart",data_size="large", style = "color: green;" })
在javascript中,您可以阅读这些附加信息

$("a#addToCart").click(function(e){
    e.preventDefault();

    var d = { Size : $(this).data("size");
    $.post($(this).attr("href"),d,function(response){
          console.log(response);
    });    
});
这应该行得通

@Html.ActionLink("Add to cart", "Index", "Shopping", null, 
                     new { onclick = "AtC("+Model.ProductID+")", @style = "color: red;" })
我个人更喜欢使用不引人注目的javascript,这样我的标记就不会直接调用javascript方法。为此,我们将向链接添加一个Id

由于您正在使用Shopping/AddToCart方法进行发布,因此在构建操作链接时可以使用这两种方法

@Html.ActionLink("Add to cart", "AddToCart", "Shopping", new {@id=Model.ProductID},
                                          new { @id="addToCart", style = "color: green;" })
现在在javascript中,听一下id为“addToCart”的锚定标记的点击事件,然后发表ajax文章

$(function(){

   $("a#addToCart").click(function(e){
      e.preventDefault();
      $.post($(this).attr("href"),function(response){
          console.log(response);
      });    
   });

});
如果你想发送额外的信息,你可以把它们作为html5数据属性保存在你的链接中,并根据需要使用它们

@Html.ActionLink("Add to cart", "AddToCart", "Shopping", new { @id = Model.ProductID},
                  new { @id = "addToCart",data_size="large", style = "color: green;" })
在javascript中,您可以阅读这些附加信息

$("a#addToCart").click(function(e){
    e.preventDefault();

    var d = { Size : $(this).data("size");
    $.post($(this).attr("href"),d,function(response){
          console.log(response);
    });    
});

尝试编写javascript:AtC();取而代之的是“索引”、“购物”。让我快速编辑一下:现在发生的事情是,您将访问一个链接,而没有激活javascript函数(您正在同时执行这两个操作),并且此页面移动会干扰您的函数运行。这将起作用:new{onclick=“AtC”(“++@Model.ProductID+”)尽管使用ActionLink没有任何意义,因为除了添加onclick handler之外,您没有使用ActionLink做任何事情。请尝试编写javascript:AtC();而不是“索引”、“购物”。让我快速编辑一下:现在发生的事是,您要访问一个链接,而不是激活javascript函数(您同时执行这两项操作)并且此页面移动会干扰您的函数运行这将起作用:new{onclick=“AtC(“++@Model.ProductID+”)”尽管使用ActionLink没有任何意义,因为除了添加onclick处理程序之外,您没有对ActionLink执行任何操作