【发布时间】:2015-05-02 14:33:31
【问题描述】:
我的 jQuery 文件中有以下代码
var bases = {};
for (var j = 0; j < selectedVariants.length; j++) {
bases[selectedVariants[j].BId] = selectedVariants[j].CId;
}
我现在正在基础字典中获取一些数据
我的问题是如何通过 ajax 调用将此基础字典传递给控制器。
我尝试了以下方法,但控制器中的碱基计数为零
$.ajax({
url: $.url('~/TUP/Tflow'),
type: 'POST',
data: { baseDetails: JSON.stringify(bases)},
async: true,
cache: false,
});
当我在我的控制器中看到...碱基数为零时
请帮帮我
控制器:
[HttpPost]
public JsonResult Tflow(JsonFileContentInputs basedetails)
{
//some code
}
还有我的模特:
[ModelBinder(typeof(JsonModelBinder))]
[DataContract]
public class JsonFileContentInputs
{
[JsonProperty(PropertyName = "basedetails")]
[DataMember]
public Dictionary<string, string> basedetails { get; set; }
}
【问题讨论】:
-
你能发布你的控制器代码吗?
-
您不需要对其进行字符串化,该函数应注意将其转换为 JSON。这更多地取决于您的控制器的配置方式。您使用的是什么服务器端技术?
-
或者fiddle?
-
感谢您的回复..控制器:[HttpPost] public JsonResult Tflow(JsonFileContentInputs basedetails) { //一些代码}和我的模型:[ModelBinder(typeof(JsonModelBinder))] [DataContract] 公共类JsonFileContentInputs { [JsonProperty(PropertyName = "basedetails")] [DataMember] public Dictionary
basedetails { get;放; } } -
试试这样:
data: JSON.stringify({ baseDetails: bases}),
标签: c# jquery ajax json model-view-controller