2014-10-09 86 views
0

我需要在.NET中创建一个Web服务,其中发件人可以将数据作为查询字符串发送,并对参数名称进行编码。下面是发送数据的URL的一个示例: HTTP://主机名 /Processor/Service.asmx/InsertReport?A%2dE3%2dName=JohnWeb服务方法参数

InsertReport需要具有A-E3-的方法名称作为参数。

如何声明参数以接收值约翰?

+0

请注意,当您在查询字符串中发送数据时,根据服务器和/或浏览器的不同,可能会有最大字符数限制。如果您要使用IIS进行托管,则需要考虑这一点。我会参考这个答案得到一个想法http://stackoverflow.com/questions/812925/what-is-the-maximum-possible-length-of-a-query-string#answer-812962 – jlafay 2014-10-09 16:00:58

回答

1

您可以在C#中的检索查询字符串参数值:

Request.QueryString["A-E3-Name"] 
0
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css" rel="stylesheet"/> 
<body> 
<table class="table table-hover"> 
    <tr> 
    <td>No</td> 
    <td>Test1></td> 
    </tr> 
    <tr> 
    <td>No</td> 
    <td>Test2></td> 
    </tr> 
</table> 
</body> 
+0

你可以详细说明如何这回答了这个问题?谢谢! – DanM7 2014-10-09 16:06:44

0

如果你想在作为实际参数传递这些为您的WebMethod(例如,您的ASMX有参数的方法对应于你的querystring参数名称),你需要重新考虑你的参数名称。即使您对它们进行了网址解码,也无法使用名为A-B-3-Something的参数的C#方法。尝试用这样的参数创建一个方法,你会注意到它不会编译。

也许如果你描述你正在尝试做什么,我们可以提供更好的解决方案。