asp.net web方法中ajax回调后,对象属性为null
object properties is null after ajax callback in asp.net webmethod
这不是asp.net mvc,这是asp.net webforms
我正在尝试发送像这样的对象文字
templateProperties = {}
我的ajax调用类似于
$.ajax({
beforeSend:updateTemplateProperties,
type: "POST",
url: templatePropertiesUpdateUrl,
contentType: 'application/json; charset=utf-8',
dataType: 'json',
data: JSON.stringify({ "templateProperties": templateProperties }),
}).done(function (data) {
log(data.d);
});
发送前我正在调用函数:
updateTemplateProperties = function () {
templateProperties.NameFont = "qwq";
templateProperties.NameBold = true;
templateProperties.NameItalic = false;
templateProperties.NameFontColor = "#FFF";
templateProperties.NamePositionX = 52;
templateProperties.NamePositionY = 896;
templateProperties.NameSize = 23;
templateProperties.DateFont = "ssda";
templateProperties.DateBold = false;
templateProperties.DateItalic = true;
templateProperties.DateFontColor = "#EEE";
templateProperties.DatePositionX = 47;
templateProperties.DatePositionY = 236;
templateProperties.DateSize = 12;
}
我的网络方法就像
[WebMethod]
public static string UpdateTemplateProperties(TemplateProperties templateProperties)
{
var serializer = new JavaScriptSerializer();
return serializer.Serialize(templateProperties);
}
这是我的TemplateProperties类
[Serializable]
public class TemplateProperties
{
public string NameFont { get; set; }
public string NameBold { get; set; }
public string NameItalic { get; set; }
public string NameFontColor { get; set; }
public string NamePositionX { get; set; }
public string NamePositionY { get; set; }
public string NameSize { get; set; }
public string DateFont { get; set; }
public string DateBold { get; set; }
public string DateItalic { get; set; }
public string DateFontColor { get; set; }
public string DatePositionX { get; set; }
public string DatePositionY { get; set; }
public string DateSize { get; set; }
}
在检查templateProperties时,我发现整个对象属性都等于空
{"NameFont":null,"NameBold":null,"NameItalic":null,"NameFontColor":null,"NamePositionX":null,"NamePositionY":null,"NameSize":null,"DateFont":null,"DateBold":null,"DateItalic":null,"DateFontColor":null,"DatePositionX":null,"DatePositionY":null,"DateSize":null}
我没有从这个电话中得到任何错误,我已经尝试了我所知道的一切,但它不起作用通常,我会逐个地将参数单独传递给webmethod,但这次它们太多了,无法完成,所以我想将整个对象作为一个实体
由于某些原因,beforeSend
回调函数updateTemplateProperties
被调用,但templateProperties
在发送数据之前没有正确初始化,我只是在开始ajax调用之前调用了updateTemplateProperties
函数,它现在正在工作,但我真的不知道为什么它不以这种方式工作
相关文章:
- 如何从对象的原型方法访问JavaScript对象属性
- 如何将数组项添加到对象属性中
- 设置嵌套对象属性的更好方法
- JavaScript管理具有重复属性名称的对象属性
- 如何使用element.myobj.prop等具有对象属性的元素
- 如何使用(this)访问Angular 2 http rxjs catch函数中的对象属性
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 如何在AngularJS工厂中正确声明对象属性
- 如何使用object.assign()从其他对象引用基本对象属性
- 使用XPath样式访问Javascript JSON对象属性
- 将javascript对象(属性+值)合并到一个对象中
- 数组:使对象属性成为数组键
- 无法从JavaScript中的函数调用对象属性
- Google Closure Advanced |无法识别对象属性|动态属性
- Javascript从匿名函数访问外部对象属性
- 从函数更改对象属性
- 如何从字符串变量访问对象属性
- 从嵌套对象属性中获取排除某个值的最高值
- 在Aurelia computeds中,当设置依赖关系时,如何声明对对象属性的依赖关系
- 传递数量不确定的可能嵌套的对象属性