2015-01-02 26 views
2

嗨,我有mvc4工作視圖頁面得到使用mvc4 jquery的

我有一個Razor視圖頁面的動作

public ActionResult DeliveryAddress(string userid,int productid) 
    { 

     .... 
     return View(m); 
    } 

包含

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

在此,當點擊我正在收集一些數據ifrom本頁使用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) { });不打這個操作。

請幫助我。

+0

很多細節似乎缺少,U如何將數據傳遞到url? – ssilas777

+0

@ ssilas777:目前我只是想打控制器的動作,這就是爲什麼我寫這樣的代碼 – shyama

+0

但除非你提供的所有細節,沒有人可以指出實際問題,你傳遞參數的方式可能甚至導致問題。 – ssilas777

回答

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(); 
}); 
+0

我試過這個..但是沒有得到 – shyama

+0

你有沒有檢查警報。檢查點擊時的排序是否觸發或不是這樣$(「#place-order」)。click(function(){alert('OK');}); – Aravindan

+0

是的..它的工作 – shyama

1

這就是你需要將數據傳遞到URL中Jquery的get方法,注意相同的參數名稱與功能

$.get('@Url.Action("PlaceOrder","Products")', { uid: userid }, function (data) 
    { 
    }); 
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(); 
    } 
0

當我想要我的視圖代碼要獲取這樣的,或者甚至通過Html.Action()呼叫,我用的是PartialView,通常設置我的控制器操作爲:

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