我正在使用 getJSON,我喜欢作为 url 的一部分传递的是我在视图中拥有的模型(我正在使用 MVC C#)
$.getJSON(url, function (data) {
});
我想知道是否有办法做到这一点。
@model PVC.Domain.Lab.Models.ModelMain
我正在使用 getJSON,我喜欢作为 url 的一部分传递的是我在视图中拥有的模型(我正在使用 MVC C#)
$.getJSON(url, function (data) {
});
我想知道是否有办法做到这一点。
@model PVC.Domain.Lab.Models.ModelMain
您可以将其作为 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 检索此模型。
这样做的方法是使用内联 JavaScript 来提取您想要在 url 中使用的模型部分。
<script>
var myUrl = '/path/to/action/@Model.Id/whatever else';
// Then make your call using the constructed URL
</script>
在这种情况下,您必须使用.json
文件...
$.getJSON("yourpage.json", function (data) {
});