有类似这样的URL:
http://ip/page.aspx?id=888#123456789使用Request.QueryString["id"],只能获取到888,原因是在URL里面“#”符号表示的是标记。请问怎么样能完整获得“888#123456789”整串字符串?
http://ip/page.aspx?id=888#123456789使用Request.QueryString["id"],只能获取到888,原因是在URL里面“#”符号表示的是标记。请问怎么样能完整获得“888#123456789”整串字符串?
解决方案 »
- 怎样用jquery弹出一个层后,页面变灰不能操作
- 各位大虾进来,新手求助————
- select 怎么删除选中列 ?
- 急急急急急急急急!!!局域网远程备份数据库。
- 局域网的一台服务器可以上大网,在该服务器上发布程序并调用google地图,如何实现其他局域网用户访问该程序呢
- GridView1和DetailsView1的联合使用及隐藏的问题
- 悬赏!在ASP.NET页面上怎么实现一个FLASH放在另一个FLASHS上?
- 会导致 asp.net 应用程序 重启 的所有 可能原因
- 各位帮帮忙了,如何在一个字符串中截取某个符号后的字符?
- DataList与DataGrid有什么不同?他们各适用于何种情况?
- 找不到命名空间为ModelUsing指令集
- 上传图片时,生成缩约图错误?
嗯是的。看了一下http调试,浏览器根本不发送#部分。
-----------
看了一下http调试,浏览器根本不发送#部分。
=================
意思上面的地址#123456789这部分是多余的?
等同于http://ip/page.aspx?id=888
这段,是给客户端的锚点使用的,服务器是无法得到的,你要想在服务器端得到,你需要进行UrlEncode编码
改成http://ip/page.aspx?id=888%23123456789或者在客户端得到,然后ajax发送到服务器端
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string url;
string name;
url = "page.aspx?id=";
name = "888#123456789";
name = name.Replace("#", "@");
Response.Redirect(url + Server.UrlEncode(name));
}
}public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
string name = Request.QueryString["id"];
name = Server.UrlDecode(name);
name = name.Replace("@", "#");
Response.Write(name);
}
}
escape()编译 传参数到 后台 , 后台获取前台传过来的参数 Request.QueryString["?"]