相关疑难解决方法(0)

在C#中输出一个被操纵的QueryString

使用以下代码我得到一个很好的格式化字符串:

Request.QueryString.ToString 
Run Code Online (Sandbox Code Playgroud)

给我一些像:&hello = worldµsoft =糟透了

但是,当我使用此代码将集合克隆到另一个对象(相同类型)时,我从ToString()方法返回Type().

System.Collections.Specialized.NameValueCollection variables = new System.Collections.Specialized.NameValueCollection(Request.QueryString);
if (!string.IsNullOrEmpty(variables["sid"]))
    variables.Remove("sid");
Response.Write(variables.ToString());
Run Code Online (Sandbox Code Playgroud)

是否有更整洁的方式输出它而不是手动查看和构建字符串?

c# asp.net collections query-string

23
推荐指数
2
解决办法
2万
查看次数

URL Querystring - 查找,替换,添加,更新值?

我们从另一家公司继承了一些C#代码作为项目的一部分,该公司执行URL重定向,根据需要修改现有查询字符串,更改项目值,添加新参数等.但问题是代码充其量只是错误,最终会复制查询字符串中的项目而不是正确更新它们.该代码适用于第一次通过,但在其他调用时,重复问题变得明显.

例如:MyPage.aspx?startdate = 08/22/09&startdate = 09/22/09

它不需要复制项目,而是需要使用新值(如果已存在)进行更新,或者如果不存在则添加.

是否有一个C#类或一组函数来处理查询字符串,允许一种简单的方法来访问和更新/添加解决这些问题的参数,而不是现在似乎在使用代码的盲添加方法?这需要能够处理可能始终存在或不存在的多个参数,并在后续调用中添加和更新.

我们将尽快使用现有逻辑,而不是在可能的情况下重新创建某些内容,以便以半标准方式快速解决此问题,以便将来进行可维护性和重用.

c# url query-string

14
推荐指数
1
解决办法
3万
查看次数

为什么Request.QueryString只读?

我以为你不能在没有重定向的情况下更改服务器上的QueryString.

但是这段代码对我有效:

Request.QueryString编辑

我很惊讶.

以下是我对此的疑问:

  1. 为什么Request.QueryString只读?
  2. 为什么这个代码/黑客工作*?
  3. 如果您在完成编辑后立即更改为只读,包括错误错误或意外行为,以及维护和理解代码,那么它的安全性如何?
  4. 如果您只使用PageLoad和OnPageRender,那么在事件周期中最有意义的是进行疯狂的编辑?

*更多细节:

我有一个页面,其中包含分组到选项卡的项目.每个选项卡都是一个asp:LinkBut​​ton

我希望能够直接链接到特定选项卡.我使用QueryString参数'tab = tabName'来做到这一点.有用.但是当我单击一个新选项卡时,查询字符串仍然在Url中,因此Querystring中指定的选项卡被激活,而不是我单击的选项卡.

通过使用Request.QueryString编辑,这不会发生.然后我的解决方案"有效".

提前致谢.

asp.net request.querystring

5
推荐指数
1
解决办法
9348
查看次数