Jquery getJson需要从我的MVC View中传递Model

时间:2012-10-18 19:01:40

标签: jquery asp.net-mvc json

我正在使用getJSON,我想在url中传递的是我在视图中的模型 (我正在使用MVC C#)

    $.getJSON(url, function (data) {



    });

我想知道是否有办法做到这一点。

   @model PVC.Domain.Lab.Models.ModelMain

3 个答案:

答案 0 :(得分: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来检索此模型。

答案 1 :(得分:0)

在这种情况下,您必须使用.json文件...

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

        });

答案 2 :(得分:0)

执行此操作的方法是使用内联JavaScript提取要在网址中使用的模型部分。

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