2012-10-18 33 views
0

我使用的getJSON和我喜歡通過爲URL的一部分是,我在我看來 模型通過模型(我使用MVC C#)的Jquery的getJSON需要從我的MVC視圖

$.getJSON(url, function (data) { 



    }); 

我想知道是否有辦法做到這一點。

@model PVC.Domain.Lab.Models.ModelMain 
+0

它不清楚你想要做什麼。你能提供一些例子的網址,你會發生什麼? – heavyd

回答

2

你可以把它作爲一個JSON請求:

@model MyViewModel 
... 
<script type="text/javascript"> 
    var model = @Html.Raw(Json.Encode(Model)); 
    $.ajax({ 
     url: '@Url.Action("someaction")', 
     type: 'POST', 
     contentType: 'application/json', 
     data: JSON.stringify(model), 
     success: function(result) { 
      alert('success'); 
     } 
    }); 
</script> 

需要注意的是Visual Studio的語法高亮可能會強調有一個紅色的波浪線告訴你,有一個錯誤的var model = @Html.Raw(Json.Encode(Model));線。感覺完全免費的忽略這個錯誤,並運行你的應用程序將工作。

另請注意,如果您想限制網絡使用情況,最好只發送AJAX請求中的模型ID,並讓您的服務器使用最初檢索到的ID的位置來檢索此模型。

0

在這種情況下,你必須使用.json文件...

$.getJSON("yourpage.json", function (data) { 

     }); 
+0

感謝您的回覆,但我傳遞了一個URL。 –

+0

@WebDev是在工作嗎? – StaticVariable

+0

不,我如何通過URL從我的視圖中傳遞模型? –

0

要做到這一點是使用內嵌的JavaScript來提取要在使用模型的一部分,這樣你的網址。

<script> 
    var myUrl = '/path/to/action/@Model.Id/whatever else'; 
    // Then make your call using the constructed URL 
</script>