我正在使用getJSON,我想在url中传递的是我在视图中的模型 (我正在使用MVC C#)
$.getJSON(url, function (data) {
});
我想知道是否有办法做到这一点。
@model PVC.Domain.Lab.Models.ModelMain
答案 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>