Tag: query string

DateTime.ParseExact格式字符串

我有一个Web应用程序,通过查询字符串将DateTime从一个页面传递到另一个页面。 它在IE和FireFox中运行得很好,但每当我在谷歌浏览器中尝试它时都会抛出exception。 该程序在以下几行窒息: startDateTime = Convert.ToDateTime(Request.QueryString[“start”]); 所以,我运行调试器,发现查询字符串中的值是: Wed Oct 03 2012 08:00:00 GMT-0400 (Eastern Daylight Time) 我得出结论,转换只是没有达到工作,并着手试图让DateTime.ParseExact驯服这个野兽。 但是,到目前为止,我找不到正确的格式字符串。 这是我一直在尝试的代码(不起作用): DateTime.ParseExact(Request.QueryString[“start”], “ddd MMM dd yyyy HH:mm:ss zzz”, CultureInfo.InvariantCulture); 此页面是通过第三方组件(DayPilotCalendar)调用的某些JavaScript从另一个页面调用的。 以下是在DayPilotCalendar控件上设置的相关属性: TimeRangeSelectedJavaScript=”GB_showPage(‘Request Magnet Time’, ‘../../../EventAddEdit.aspx?start=’ + encodeURIComponent(start) + ‘&end=’ + encodeURIComponent(end))” 我的格式字符串有什么问题?

基于查询字符串参数名称的路由

我正在尝试在我的MVC4 WebAPI项目中配置路由。 我希望能够根据他们的名字或类型搜索产品,如下所示: /api/products?name=WidgetX – 返回名为WidgetX /api/products?type=gadget所有产品/api/products?type=gadget – 返回gadget类型的所有产品 路由配置如下: config.Routes.MapHttpRoute( name: “Get by name”, routeTemplate: “api/products/{name}”, defaults: new { controller = “ProductSearchApi”, action = “GetProductsByName”, name = string.Empty } ); config.Routes.MapHttpRoute( name: “Get by type”, routeTemplate: “api/products/{type}”, defaults: new { controller = “ProductSearchApi”, action = “GetProductsByType”, type = string.Empty } ); 问题是查询字符串参数的名称似乎被忽略,因此第一个路径始终是使用的路径,无论查询字符串参数的名称如何。 如何修改我的路线以使其正确?

从URL字符串中提取查询字符串

我正在阅读历史,我希望当我遇到谷歌查询时,我可以提取查询字符串。 我没有使用请求或httputility,因为我只是解析一个字符串。 但是,当我遇到这样的URL时,我的程序无法正确解析它: http://www.google.com.mt/search?client=firefox-a&rls=org.mozilla%3Aen-US%3Aofficial&channel=s&hl=mt&source=hp&biw=986&bih=663&q=hotmail&meta=&btnG=Fittex+bil-Google 我想要做的是得到q =的索引和&的索引,并且在两者之间取词,但在这种情况下,&的索引将小于q =并且它将给我错误。 有什么建议? 谢谢你的答案,一切似乎都很好:) ps我不能使用httputility,不是我不想。 当我添加对system.web的引用时,不包括httputility! 它只包含在asp.net应用程序中。 再次感谢

c#从字符串中的键值对中提取值

我有一个像这样的字符串: blablablamorecontentblablabla?name=michel&score=5&age=28&iliedabouttheage=true 看起来像常规查询字符串是,但我不在任何Web上下文中 现在我想通过他们的键提取值(在=符号之后),例如,名称(michel),分数(5),年龄(28)等。 通常我解析字符串就像获取单词’name’的字符串中的位置,然后将5添加到它(长度’name =’)并将此位置命名为’start’然后搜索&-sign并命名该位置’结束’,然后获取位置开始和结束之间的字符串。 但是必须有一个更好的解决方案,这是一个正则表达式吗?

如何通过密钥从URL有效地删除查询字符串?

如何从Url中删除Key的查询字符串? 我有以下方法工作正常但只是想知道有更好/更短的方式? 或内置的.NET方法,可以更有效地做到这一点? public static string RemoveQueryStringByKey(string url, string key) { var indexOfQuestionMark = url.IndexOf(“?”); if (indexOfQuestionMark == -1) { return url; } var result = url.Substring(0, indexOfQuestionMark); var queryStrings = url.Substring(indexOfQuestionMark + 1); var queryStringParts = queryStrings.Split(new [] {‘&’}); var isFirstAdded = false; for (int index = 0; index <queryStringParts.Length; index++) { var keyValue […]

模型绑定是否通过asp.net mvc中的查询字符串工作

模型绑定也可以通过查询字符串工作吗? 如果我有一个获取请求,例如: GET /Country/CheckName?Country.Name=abc&Country.Id=0 HTTP/1.1 CountryController中的以下方法是否具有包含Id和Name属性的oCountry参数以及查询字符串中的值? public ViewResult CheckCountryName(Country oCountry) { //some code return View(oCountry); } 出于某种原因,我在OCountry对象中将Id作为0并将Name作为null。 缺什么 ?

ASP.NET Web API中的可选查询字符串参数

我需要实现以下WebAPI方法: /api/books?author=XXX&title=XXX&isbn=XXX&somethingelse=XXX&date=XXX 所有查询字符串参数都可以为null。 也就是说,调用者可以指定从0到所有5个参数。 在MVC4 beta中我曾经做过以下事情: public class BooksController : ApiController { // GET /api/books?author=tolk&title=lord&isbn=91&somethingelse=ABC&date=1970-01-01 public string GetFindBooks(string author, string title, string isbn, string somethingelse, DateTime? date) { // … } } MVC4 RC不再像这样了。 如果我指定少于5个参数,它会回复404说: 未在与请求匹配的控制器“Books”上找到任何操作。 什么是正确的方法签名,使其行为像以前一样,而不必在URL路由中指定可选参数?

解析“查询字符串”格式化数据的最简单方法

使用以下代码: string q = “userID=16555&gameID=60&score=4542.122&time=343114”; 什么是最简单的解析值的方法,最好不要编写我自己的解析器? 我正在寻找具有与Request.querystring[“gameID”]相同function的东西。