【发布时间】:2017-10-29 14:53:51
【问题描述】:
我使用 javascript 来调用控制器来处理一个函数。 当字段设置为私有时,参数值(摘要中的名称)为空。 当字段设置为公共时,它可以工作。 是设置为public的唯一方法吗?或者有更好的方法吗? 提前致谢。
我的对象
[DataContract]
public class Summary
{
[DataMember]
public int id { private set; get; }
[DataMember]
public string name { private set; get; }
public summary() {}
public summary(int id, string name)
{
id = id;
name = name;
}
}
MVC 控制器
public ActionResult SetSummary(Summary summary)
{
string anme = summary.name; **<-- null if private**
...
}
Javascript
$http.post("MyController/SetSummary", JSON.stringify({
summary: mySummaryObject}))
.success(function (data, status, headers, config) {
....
}
【问题讨论】:
-
是的,它必须是
public(DefaultModelBinder初始化模型的一个实例,然后设置它的属性 - 除非它的public,否则它不能设置它)
标签: javascript asp.net-mvc parameters controller private