从asp.net中的url中删除查询字符串
嗨,我需要在用户单击特定的LinkButton时删除查询字符串。 因此,例如,如果查询字符串是http://UserProfileManager.com?UserID=1234 ….当用户点击链接按钮时,我希望url为http://UserProfileManager.com 。 问题是一切都在一个页面上,我使用asp:panel来显示和隐藏网页的不同区域。
任何想法,将不胜感激。
你有几个选择:
1)在您的代码中,如果查询字符串包含“UserID”键,只需将LinkButton的URL设置为较短的地址:
if (Request.QueryString["UserID"] != null) { this.LinkButton.PostBackUrl = "http://UserProfileManager.com"; } else { // other address }
2)在隐藏字段而不是查询字符串中发送UserID。
3)分离你的视图和编辑页面 – 将所有内容放在一个* .aspx中可能会导致更多的麻烦而不是它的价值。
你实际上无法从URL中删除查询字符串。 我的意思是说没有.remove()方法可用于此。 如果您仍想这样做,则必须使用.substring()方法并手动完成。
只是一个可能有用的提示:如果您使用QueryString值在同一页面上维护不同的状态,那么我宁愿建议您将这些值保存在页面上的ViewState中并相应地对其进行更改。 通过这种方式,您的URL将保持干净,用户将无法损害您的流量并且可以正常工作。
照顾自己!
在页面加载时,您可以将查询字符串提取到隐藏文本框。
当用户单击该按钮时,清除文本框
如果用户导航,请使用文本框中的字符串,并将查询字符串附加到URL。
我希望这有助于Sp
查看请求对象 – 虽然我不记得确切的属性,但有一些行方案(将返回“http://”) – 将有一个或组合将提供您所需的。
进一步研究 – 查看Request.Url属性。 然后剥离查询字符串。 我无法在uri / uricomponent类中看到一个确切的方法来为您提供您正在寻找的内容,但它不应该那么难。