首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web Service >

webservice中int型参数有关问题

2012-12-16 
webservice中int型参数问题在本地直接浏览webservice,并调用webmethod时,由于方法中有Int型参数,就一直报

webservice中int型参数问题
在本地直接浏览webservice,并调用webmethod时,由于方法中有Int型参数,就一直报错
错误代码如下:
   


System.ArgumentException: 无法将  转换为 System.Int32。
参数名: type ---> System.FormatException: 输入字符串的格式不正确。
   在 System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)
   在 System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info)
   在 System.String.System.IConvertible.ToInt32(IFormatProvider provider)
   在 System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider)
   在 System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)
   --- 内部异常堆栈跟踪的结尾 ---
   在 System.Web.Services.Protocols.ScalarFormatter.FromString(String value, Type type)
   在 System.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollection collection)
   在 System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequest request)
   在 System.Web.Services.Protocols.HttpServerProtocol.ReadParameters()
   在 System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest()





请帮忙解答,谢谢!!!
[解决办法]
输入字符串的格式不正确,你输入的内容有问题吧,是否符合转换规则
[解决办法]
我什么值也没有传,直接调用的,

 [WebMethod]
        public ReturnResult Register(string UserName, int UserType, string IpAddress,
            string PassWord, string UserTrueName, string UserPhone, string IdCardNo, string RegisterTime
)
        {}

这是方法名,里面有对username进行判断是否为空或NULL,可是方法一调用就直接报上面的错误,不知道是哪里出问题了,还是需要在方法调用前先去判断,怎么判断呢???
[解决办法]
有人在吗??请帮忙解答一下啦,着急呢!!谢谢啦!!
[解决办法]
不传参数,可以将参数设置为可空类型!
[WebMethod]
        public ReturnResult Register(string UserName, int? UserType, string IpAddress,
            string PassWord, string UserTrueName, string UserPhone, string IdCardNo, string RegisterTime
)
        {}
[解决办法]
webmethod里面只能传基本类型的数据,int?会无法识别
[解决办法]
你重新刷新一下你的web引用试试
[解决办法]
int要赋初值,根据异常信息是类型转换的错误。最好debug跟进看看。
[解决办法]
使用单步调试查看,应该是类型传入错误。

你的webmethod 定义了 int 类型参数,传值的时候 确定是 int 了嘛?

热点排行