从 asp.net 中的 url 中删除查询字符串

发布于 2024-09-04 09:55:04 字数 364 浏览 3 评论 0原文

您好,当用户单击特定的 LinkBut​​ton 时,我需要删除查询字符串。 例如,如果查询字符串是 http://UserProfileManager.com?UserID=1234 ....当用户单击链接按钮时,我希望网址为 http://UserProfileManager.com。问题是所有内容都在一页上,我使用 asp:panel 来显示和隐藏网页的不同区域。

任何想法将不胜感激。

HI, I need to remove a querystring when a user clicks a particular LinkButton.
So for example if the querystring is http://UserProfileManager.com?UserID=1234 .... when the user clicks on the Linkbutton, I want the url to be http://UserProfileManager.com. The issue is that everything is on one page, and I am using asp:panel to show and hide different areas of the webpage.

Any ideas would be appreciated.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

等风来 2024-09-11 09:55:04

您有多种选择:

1) 在后面的代码中,如果查询字符串包含“UserID”键,只需将 LinkBut​​ton 的 URL 设置为较短的地址即可:

if (Request.QueryString["UserID"] != null) {
    this.LinkButton.PostBackUrl = "http://UserProfileManager.com";
} else {
    // other address
}

2) 在隐藏字段而不是查询字符串中发送 UserID。

3) 将您的视图和编辑页面分开 - 将所有内容放在一个 *.aspx 中可能会带来更多麻烦,而不是带来任何好处。

You have several options:

1) In your code behind, just set the LinkButton's URL to the shorter address if the querystring contains a "UserID" key:

if (Request.QueryString["UserID"] != null) {
    this.LinkButton.PostBackUrl = "http://UserProfileManager.com";
} else {
    // other address
}

2) Send the UserID in a hidden field instead of the querystring.

3) Separate your view and edit pages - putting everything in one *.aspx is probably going to cause more trouble than it's worth down the road.

错爱 2024-09-11 09:55:04

您实际上无法从 URL 中删除查询字符串。我的意思是说没有可用的 .remove() 方法。
如果您仍然想这样做,则必须使用 .substring() 方法并手动完成。

只是一个可能有用的提示:
如果您使用 QueryString 值来维护同一页面上的不同状态,那么我宁愿建议您将这些值保留在页面上的 ViewState 中,并对其进行相应的更改。这样您的 URL 将保持干净,用户将无法损害您的流量并且可以正常工作。

小心!

you cant actually remove a querystring from the URL. I mean to say that there is no .remove() method available for that.
If you still want to do so you will have to use the .substring() method and get it done manually.

Just a tip that may prove helpful:
If you are using the QueryString values to maintain different states on the same page then i would rather suggest you to keep those values in a ViewState on the page and make changes to it accordingly. This way your URL will remain clean, users wont be able to harm your flow and will work just fine.

take care!

能否归途做我良人 2024-09-11 09:55:04

在页面加载时,您可以将查询字符串提取到隐藏的文本框。

当用户单击按钮时,清除文本框。

如果用户离开,则使用文本框中的字符串并将查询字符串附加到 URL。

我希望这有帮助
斯普

On page load you could extract the query string to a hidden text box.

When the user clicks the button clear the text box

If the user navigates away use the string in the text box and append the query string to the URL.

I hope this helps
Sp

记忆里有你的影子 2024-09-11 09:55:04

查看请求对象 - 虽然我不记得确切的属性,但有一些线路方案(将返回“http://”) - 会有一个或组合可以满足您的需求。

进一步研究 - 查看 Request.Url 属性。然后去掉查询字符串。我在 uri / uricomponent 类中看不到确切的方法来为您提供您正在寻找的内容,但这应该不那么难。

Look at the request object - while I can't remember the exact properties, there are ones line scheme (which would return "http://") - there will be one, or a combination that will give you what you require.

Further research - look at the Request.Url property. Then strip off the query string. I couldn't see an exact method in the uri / uricomponent classes to give you exactly what you are looking for, but it shouldn't be that hard.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文