Request.QueryString[“parameter”] 当值明确位于查询字符串中时,不返回任何内容
本文关键字:字符串 查询 任何内 返回 于查询 parameter QueryString Request | 更新日期: 2023-09-27 18:35:53
我有一个MVC Umbraco项目,我正在尝试设置一个简单的搜索表单。搜索表单使用基本的 HTML:
<form methed="GET">
<input name="s"... />
...
在处理搜索结果的 ascx.cs 文件中,我有一个执行以下操作的Page_Load方法:
protected void Page_Load(object sender, EventArgs e)
{
SearchTerm = Request.QueryString["s"];
...
问题是Request.Query
始终为空,即使生成的 URL 中显然包含 s
参数。
关于为什么这个代码隐藏文件不可见的任何想法?
此外,为了进一步混淆这种情况,Request.RawUrl
返回包含查询字符串的 url。
这发生在我使用umbraco身上,但结果不是umbraco问题。RawUrl 包含查询字符串,但 QueryString 不包含。
问题是我在查询字符串中传递了一个 url,并且忘记对其进行编码。当在查询字符串中传递的 url 没有自己的查询字符串时,这实际上并不重要,但是当它有时,我猜 c# 看到查询字符串格式不正确,因此无法填充 QueryString。