gpt4 book ai didi

ajax - ASP.NET MVC JSON 对象可以通过带有动态类型参数的参数传递给 Controller ​​吗?

转载 作者:行者123 更新时间:2023-12-03 23:04:41 25 4
gpt4 key购买 nike

我的 javascript 中有代码,一个用于发布数据的 ajax:

$.ajax({
url: '/Configurations/GetSelectedPageTranslation',
type: 'POST',
data: { inttype: $("#some").val(), objectType:{prop1: 'adsfa', prop2: 'asdf'}},
success: function (result) {

},
error: function () {
alert('error');
}
});

在 Controller 中我有一个带签名的方法:

public JsonResult GetSelectedPageTranslation(int inttype, dynamic objectType)

我可以正确地得到 inttype 。然而,objectType 不会为 null,但如果我喜欢 objectType.prop1,它会抛出错误。如果我将 JavaScript 中的对象类型 JSON.stringify,则 Controller 中的 objectType 将具有字符串值。

是否可以使用如下动态数据类型直接访问 Controller 中的 JSON 数据:objectType.prop1 ?

谢谢

最佳答案

MVC3 中没有对动态操作参数的现成支持。

但是,MVC 具有很强的可扩展性,因此您可以添加此功能。您需要做的是创建一个自定义 IModelBinder,您可以在其中执行 JSON 反序列化并构建动态对象。

幸运的是这篇文章:Making MVC 3 a little more… dynamic正在处理完全相同的问题,因此您还可以在那里找到示例代码和其他链接,它们应该可以帮助您入门。

关于ajax - ASP.NET MVC JSON 对象可以通过带有动态类型参数的参数传递给 Controller ​​吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11608026/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com