2013-11-21 22 views
0

我不确定如何形成此问题。我是Web开发新手。我们将通过asp发布数据到服务器。在我用Visual Studio 2012玩的例子中,我用控制器创建了一个空项目。但是如何获得路径后面的字符串。请求文件路径与表单关联,这将是无视图。从asp服务器获取发布的值与表单

更新

public class HomeController : Controller 
{ 
    public HttpRequestBase baseRequest; 

    public void Index() 
    { 
     if (Request.QueryString.Count > 0 && Request.QueryString[0] != null) 
     { 
      String surlQuery = Request.QueryString["varname"].ToString(); 
     } 
    } 

    protected override IAsyncResult BeginExecute(System.Web.Routing.RequestContext requestContext, AsyncCallback callback, object state) 
    { 
     return base.BeginExecute(requestContext, callback, state); 
    } 
} 

的Request.Query字符串为NULL设置为http://localhost:53792/test 5

+0

什么路径后的字符串? –

+0

暂时忘掉服务器。在试图发送到服务器的客户端上显示代码。 –

+0

还没有那么远:)我认为这将采取HttpRequest的形式...我用类似的东西从谷歌地图获取数据 – garaber

回答

2

的Request.QueryString为URL的项目选择是在URL中传递的参数数组。 要传递变量,你需要在你的url中添加一个问号和变量/值对。
例子:

example.com?variable=value & nothervar = notherval

如果你指的是传递瓦尔没有?和=与堆做的:

website.com/variable/value

这将是一个.htaccess溶液。像这样的事情在你的.htaccess文件:

RewriteEngine On 
RewriteRule ^variable/([^/]*)$ /?variable=$1 [L] 

别忘了经常检查,以确保它试图使用它之前不为空。

if (Request.QueryString.Count > 0 && Request.QueryString[0] != null) 

,或者您可以使用该变量的字符串名称,以及:

Request.QueryString["varname"] 

你将不得不投/解析/它转换成任何你需要的数据类型。

Request.QueryString["varname"].ToString(); 
int h = Int32.Parse(Request.QueryString["varname"].ToString()); 

此外,只是想指出“post”在这方面是不正确的。 POST是指使用表单或其他利用POST协议的事物传入的东西。 而URL中的变量称为GET。

+0

检查Request.QueryString为空。将项目用户更改为localhost:/test 5.我在浏览器中看到它,但没有获取参数列表。 – garaber

+0

GET变量的格式为var = value。 因此,http:// localhost:port/test 5需要更像: http:// localhost:port /?variable = test%205 %20是空间的ascii编码,在网址中使用。 这是回答你的问题,还是你想要不同的东西? –

+0

它没有越过if语句 – garaber

相关问题