我想从使用Web服务的URL中提取一个id号,以便它可以用作选择语句中的where子句的参数根据记录的ID号码从数据库中产生数据。然后,这些数据将被传回到页面,以填充jQuery模式弹窗窗口中的元素。如何从.Net 4.0中的Web服务获取路由数据值
一切工作正常与静态身份证号码(例如:string postid = "120"
),但我不知道如何从URL中获取ID号码。我在.Net 4中使用路由,访问页面路由的方法在Web服务中不起作用。在网页我做的东西一样var id = RouteData.Values["id"];
,并且得到了ID,但是当我在一个Web服务做到了我得到了一个错误:
CS0120: An object reference is required for the non-static field, method, or property
'System.Web.Routing.RouteData.Values.get'
摘要:
我已经Web服务访问形式的详细信息页面我想在获取请求的页面上获得RouteData
。我想尽可能简单地在页面上使用RouteData.Values
,这与现在已过时的Request.Querystring
一样简单。
现在我更困惑,因为虽然我可以很容易地添加新的路由为Web服务,我不知道我会打电话,使用,因为webservice.asmx /语法的WebMethod jQuery的阿贾克斯做。
现在我的URL:“../webservices/googlemaps.asmx/GetGoogleMap”在我的jQuery Ajax中,但这不是一个真正的URL。它只存在于某处的jQuery中,使用JavaScript调用服务的方式也不是真正的URL,它的webservice.webmethod()
在这种情况下将是googlemaps.GetGoogleMap()
。
我会尝试注册webservices/googlemaps.asmx/GetGoogleMap/postid
的路由,但我怀疑它会工作,因为GetGoogleMap
不是目录或querystring
。
你有没有控制的web服务?你能提供一些服务的例子,以及他们的声明吗? –
要正确设置您的代码格式:选择代码中的*每行*,然后按工具栏上的'ctrl-K'或'{}'按钮 –