嗨,我需要删除查询字符串,当用户点击一个特定的LinkButton。 因此,例如,如果查询字符串是http://UserProfileManager.com?UserID=1234 ....当用户点击Linkbutton时,我希望URL为http://UserProfileManager.com。问题是,所有内容都在一个页面上,我使用asp:panel来显示和隐藏网页的不同区域。从asp.net中删除查询字符串
任何想法,将不胜感激。
嗨,我需要删除查询字符串,当用户点击一个特定的LinkButton。 因此,例如,如果查询字符串是http://UserProfileManager.com?UserID=1234 ....当用户点击Linkbutton时,我希望URL为http://UserProfileManager.com。问题是,所有内容都在一个页面上,我使用asp:panel来显示和隐藏网页的不同区域。从asp.net中删除查询字符串
任何想法,将不胜感激。
您有几种选择:
1)在后面的代码,只需设置LinkButton的URL,以较短的地址,如果查询字符串包含一个“用户名”键:
if (Request.QueryString["UserID"] != null) {
this.LinkButton.PostBackUrl = "http://UserProfileManager.com";
} else {
// other address
}
2)发送UserID在隐藏字段中而不是查询字符串。
3)分离你的视图和编辑页面 - 把所有内容放在一个* .aspx中可能会导致更多的麻烦而不值得。
查看请求对象 - 虽然我不记得确切的属性,但有一些行方案(这将返回“http://”) - 将会有一个或组合,会给你什么你需要。
进一步的研究 - 查看Request.Url属性。然后剥离查询字符串。我无法在uri/uricomponent类中看到确切的方法,以准确地为您提供您正在寻找的内容,但它不应该那么难。
在页面加载时,您可以将查询字符串提取到隐藏文本框中。
当用户点击该按钮清除文本框
如果用户导航离开在文本框中使用的串并追加查询字符串的URL。
我希望这有助于 SP
你不能真正从URL中移除一个查询字符串。我的意思是说没有可用的.remove()方法。 如果你仍然想这样做,你将不得不使用.substring()方法并手动完成。
只是一个可能证明有帮助的提示: 如果您使用QueryString值在同一页面上维护不同的状态,那么我宁愿建议您将这些值保留在页面上的ViewState中并相应地进行更改。这样你的URL将保持干净,用户不会伤害你的流量,并且工作得很好。
保重!
这是一个dag gumm好主意。 – user279521 2010-06-02 12:42:25
我想在隐藏字段中发送UserID,但用户从gridview中选择要编辑的记录(编辑为超链接),其中DataNavigateUrlFields值设置为UserID,DataNavigateUrlFormatString设置查询字符串。我如何处理设置UserID到GridView中的隐藏字段? – user279521 2010-06-02 13:21:52
把自己从'GridView'控件中解放出来很难 - 通常只需一分钱,一英镑。既然是这种情况,我建议使用选项1或3. – 2010-06-02 13:35:07
选项1工作。但是,它需要在LinkButton的属性窗口中设置url;非常感谢。 – user279521 2010-06-02 14:00:59