我将 JSON 对象传递给 ASP.NET Web 方法,其中 Web 方法将类作为参数。该类有一个 int 属性,问题是如果客户端不输入值,它会作为空字符串传递给服务器,Web 服务器无法正确处理它。我已经尝试使用int.TryParse(value.ToString().Trim(), out temp);
但我仍然收到以下错误is not valid value for Int32.
。所以我的问题是,当将空字符串传递给它时,如何将 int 属性设置为默认值 0?我必须将属性更改为字符串吗?
客户端 JSON 对象
{ q: { "Quantity": "" } }
服务器端 Web 方法
[WebMethod]
public ResponseType MethodName(MyClass q)
{
return Something();
}
C# 类
public class MyClass
{
private int _Quantity = 0;
public int Quantity
{
get { return _Quantity; }
set
{
int temp = 0;
int.TryParse(value.ToString().Trim(), out temp);
_Quantity = temp;
}
}
}
一如既往,任何帮助表示赞赏!
更新
我更改了我的类,以便属性是 astring
但是在get
字符串被解析为 int 然后转换回 a string
。它有效,但这是最有效的方法吗?
C# 类
public class MyClass
{
private string _Quantity = string.Empty;
public string Quantity
{
get
{
int temp = 0;
int.TryParse(_Quantity, out temp);
return temp.ToString();
}
set
{
_Quantity = value.ToString().Trim();
}
}
}