为什么Request.QueryString [“key”]停止工作?
我/名为Default.aspx的文件夹结构中的webroot /文件夹一个简单的Web表单为什么Request.QueryString [“key”]停止工作?
当我浏览到http://myapp/folder/?key=value
页面返回罚款,当我打电话
<%= Request.QueryString[0] %>
我得到http://myapp/folder/?key=value
上呈现页。但是,如果我叫
<%= Request.QueryString["key"] %>
我得到什么,当我打电话
<%= Request.QueryString[1] %>
我得到Index was out of range. Must be non-negative and less than the size of the collection.
这似乎是一个很琐碎的问题,但我无法弄清楚是怎么回事?!
因此,原来在幕后Sitecore的轮流查询字符串到
?页=的请求,page.aspx?key = value的
但在浏览器的URL看起来按照要求。显然坚持第二?在实际的网址使第二次后的一切?消失
如果您应用了一个断点,然后将鼠标悬停在Visual Studio中的QueryString上,那么您应该能够查看所有的键。或者,您可以对收集进行foreach并打印出关键名称,以查看它是否与您所期望的略有不同。
嗯,当我做了一个foreach集合我得到了一个ke y称为“页面”。此Web表单位于Sitecore CMS项目中,但在Visual Studio中创建而不是通过Sitecore界面创建,但我不知道Sitecore是否在呈现之前将页面搞乱 – 2010-07-05 09:59:39
如果你正在做的事情不是真的应该在Sitecore控制下(尽管我从来没有发现它使得QueryString集合不可能工作),请尝试添加/ folder /到ignoreUrl设置。 Sitecore的会走出你的头发,然后;-)
您的查询字符串应该是/default.aspx?key =值,那么你就可以使用访问[“钥匙”] PARAM
可以使用
Request.QueryString.Count();
,并得到查询字符串modifiy代码相应
尝试以HTTP的计数:?//myapp/folder/default.aspx键=值 – Bermo 2010-07-05 09:43:05
我仍然得到同样的错误:(从未遇到过这样来之前...奇怪 – 2010-07-05 09:45:35