0

我正在使用 getJSON,我喜欢作为 url 的一部分传递的是我在视图中拥有的模型(我正在使用 MVC C#)

    $.getJSON(url, function (data) {



    });

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

   @model PVC.Domain.Lab.Models.ModelMain
4

3 回答 3

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 检索此模型。

于 2012-10-19T06:23:42.653 回答
0

这样做的方法是使用内联 JavaScript 来提取您想要在 url 中使用的模型部分。

<script>
  var myUrl = '/path/to/action/@Model.Id/whatever else';
  // Then make your call using the constructed URL
</script>
于 2012-10-19T05:12:43.670 回答
-1

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

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

        });
于 2012-10-18T19:02:59.210 回答