在mvc4中使用jquery获取视图页面

时间:2015-01-02 06:55:52

标签: javascript jquery asp.net-mvc asp.net-mvc-4 razor

您好我正在使用mvc4

我有一个用于操作的剃刀视图页面

  public ActionResult DeliveryAddress(string userid,int productid)
    {

       ....
        return View(m);
    }

包含

<div ><a href="" class="btn btn-primary" id="place-order">DELIVER HERE</a></div>

点击这个时我正在使用jquery,

从这个页面收集一些数据
$(document).ready(function () {   
$("#place-order").click(function () {
    var userid = $('#selected-userId').html();
    var productid = $('#selected-productId').html();


   $.get("Products/PlaceOrder/"+ userid, function (data) { });
});

});

我想写下另一个行动观点

 [HttpGet]
    public ActionResult PlaceOrder(int uid)
    {
        return View();
    }

并粘贴变量内容

但是$.get("Products/PlaceOrder", function (data) { });没有达到这个动作..

请帮帮我。

4 个答案:

答案 0 :(得分:1)

这是你需要在Jquery get方法中将数据传递给url的方法,注意在函数中使用相同的参数名称

  $.get('@Url.Action("PlaceOrder","Products")', { uid: userid }, function (data)
  { 
  });

答案 1 :(得分:0)

只需在操作方法中添加HTTPGET属性,如下所示。

[HttpGet]
public ActionResult PlaceOrder()
{
    return View();
}

java脚本

$("#place-order").click(function () {
    var userid = $('#selected-userId').html(); // $('#selected-userId').val();

    $.get('@Url.Action("PlaceOrder","Products", new { uid = userid })', function (data) { });

    var productid = $('#selected-productId').html();
});

答案 2 :(得分:0)

确保您的网址正确无误。最有可能使用@ Url.Action()。并使用new传递参数,如下所示。

    $.get('@Url.Action("PlaceOrder","Products",new { userid  =  @userid  , productid  =  @productid   })', function (data) { 

    });

收集数据时,请确保发送时和接收时参数名称相同。

    [HttpGet]
    public ActionResult PlaceOrder(int userid, int productid )
    {
    return View();
    }

答案 3 :(得分:0)

当我希望我的视图代码被提取时,或者甚至通过Html.Action()调用时,我使用PartialView并通常将我的Controller Action设置为:

public ActionResult PlaceOrder(int uid)
{
    return PartialView(new TestViewModel() { ID = uid });
}

作为一个例子:

TestViewModel

public class TestViewModel
{
    public int ID { get; set; }
}

PlaceOrder.cshtml

@model TestViewModel

<h2>Partial View</h2>
<p>
    Partial View paragraph with the id <b>@Model.ID</b>
</p>

Index.html

<hr />

@Html.Action("PartialView", "Home", new { id = 44 })

<hr />

<div class="ap"></div>

<script>
    var url = '@Url.Action("PartialView", "Home")';
    $.get(url, { id: 54 }, function (data) {
        $(".ap").append(data);
    });
</script>

结果:

enter image description here