一般页面传递参数用 page2.aspx?a=xxx&b=yyy 这样的方式来向page2.aspx传递参数,现在有个特殊情况向page2.aspx传递参数的时候不能用post方式,也不能在程序中指定用get方式,只能限定用页面地址的形式传递参数,但是不能使用"?"这个符号,这个要怎么解决?
解决方案 »
- div里的table中单击每一行能响应吗?
- 发现AjaxPro.2.dll(版本9.2.17.1)的一个BUG,高人进来看看
- 站点地图问题,大虾们帮帮忙
- 大家给些学oracle的资料吧,和常用函数列表,和注意些什么呢,开发的工具是什么最方便
- 各位老大,怎么才能实现DataGrid的多重表头啊。急啊。。。。。。。
- Response.Redirect怎么样再原来的页面跳出新页面,而不是转为新页面
- aspx页面中嵌入vbscript代码(在线等,急!!)
- datagrid问题,大家看一下
- 数据库绑定数据时出现“用户 'NT AUTHORITY\NETWORK SERVICE' 登录失败”怎么办?
- 关于DATAGRID中绑定CHECKBOX的问题
- 如何使用svg
- 做BBS,遇到一个问题,希望得到高手的指导,谢谢
去顶一下我贴子
我告诉你。写一个类库。用方法去传参数就行
href= "b.aspx?para1=xxx¶2=zzz&ReturnUrl=c.aspx#para1=000¶2=111"
(b.aspx)是第三方页面他们接收到请求后会对参数后面的字符串(ReturnUrl=c.aspx#para1=000¶2=111")进行检查,然后转向到我们的页面c.aspx,也就是他检查通过后会进行这样的操作Response.Redirect("c.aspx#para1=000¶2=111")但是他们要求我们在ReturnUrl后面不能有“?”
而且这个规范是不能变的
href= "b.aspx?para1=xxx¶2=zzz&ReturnUrl=c.aspx#para3=000¶4=111"
(b.aspx)是第三方页面第三方检查通过后:
Response.Redirect("c.aspx#para3=000¶4=111")
可是不能用"?",现在c.aspx接收不到参数,我都没办法判断是哪一条记录啊
给点恩路吧,这个不是很熟
上面的Response.Redirect("c.aspx#para3=000¶4=111")
后,你在c.aspx中照样可以取到 para3 的值为 000
para4的值为111吧
http://www.cnblogs.com/xspin/archive/2004/08/06/30788.aspx
我这边试了#和?好像不一样,比如Request.Url.AbsoluteUri 就是获取不了#后面的参数,而?后面的是可以的
http://www.myWebSite.com/(rt235dfg352shr335)/a.aspx其中的中间的括号里面的内容是你的Session。这样他不会过滤了吧?具体作法是在Web.config文件中的SessionState节点下的一个bool值改一下(那个值忘了叫啥了。我现在在外面一台没有.net的机器上面,没法查看.好像名字叫NoCookies啥的)。
正在看,以前听说过有这一回事,初次实践,谢谢。
2.aspx/id=123/index=456/test=efr
这样的请求
然后 this.Request.Url.ToString() 中提取出来。#region 广告开始 CSDN小助手 V2.5,更快、更爽、更方便的浏览CSDN论坛!
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2#endregion
对,那个叫cookieless="true" 可以使用url来标志session,不过现在还不能确定别人用这个sessionid可不可以和我共享一个session,还是会重新分配一个sessionid给他,我再试试
刚试了,这样是可以的,其他人用包含我本机的sessionid的地址打开这个页面,它的sessionid是不会变化(当前页面) 打开其他页面会生成一个新的sessionidto Qqwwee_Com()
这方法太好了!
如果你需要多个页面发送数据到同一个表单程序进行处理,或者数据在多个页面之间传输处理的话,你就可以使用ASP.NET 2.0这个新特性。例如,我打算把Default.aspx页里TextBox1里的文本数据发送到Default2.aspx页面进行处理:
Default.aspx页:
<%@ Page Language="C#" %>
<script runat="server">
void Button2_Click(object sender, EventArgs e)
{
Label1.Text = "Hi," + TextBox1.Text + ". This is Default.aspx";
}
</script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:TextBox ID="TextBox1" Runat="server"></asp:TextBox>
<asp:Button ID="Button1" Runat="server" Text="PostToAnotherPage" PostBackUrl="~/Default2.aspx" />
<asp:Button ID="Button2" Runat="server" Text="PostToSelf" OnClick="Button2_Click" />
<br />
<asp:Label ID="Label1" Runat="server" Text="Label"></asp:Label>
</form>
</body>
</html>
Default2.aspx页:
<%@ Page Language="C#" %>
<script runat="server">
void Page_Load(object sender, System.EventArgs e)
{
TextBox textBox1 = (TextBox)PreviousPage.FindControl("TextBox1");
this.Label1.Text = "Hi," + textBox1.Text + ". This is Default2.aspx!";
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body>
<form id="form1" runat="server">
<asp:label id="Label1" runat="server"></asp:label>
</form>
</body>
</html>
你可以试试用cookie的原理,cookie就是将本地的信息打包到http请求里,然后到服务器端保持连接的。
http://www.5dmail.net/html/2005-11-9/200511901556.htm这种方法要求第三方写一定的代码,其实最快的方法让他们写cookie你们读cookie。注意把cookie的过期时间设置为0,这样不会在本地产生文件,cookie信息只会保留在请求内容中,请求响应完毕会就会消失
href= "b.aspx?para1=xxx¶2=zzz&ReturnUrl=c.aspx#para1=000¶2=111"
(b.aspx)是第三方页面他们接收到请求后会对参数后面的字符串(ReturnUrl=c.aspx#para1=000¶2=111")进行检查,然后转向到我们的页面c.aspx,也就是他检查通过后会进行这样的操作Response.Redirect("c.aspx#para1=000¶2=111")但是他们要求我们在ReturnUrl后面不能有“?”
而且这个规范是不能变的
=====================================================================================不能有?也是合理的,毕竟你向b.aspx也传递了参数,
既然b.aspx的处理流程不在自己的控制中,一个好的办法是Url ReWrite,就是Url重写,
对于b.aspx?para1=xxx¶2=zzz&ReturnUrl=c.aspx#para1=000¶2=111,
楼主想要是把那个“#”换成正确的"?"吧,不过直接传的话,很明显是不行的,
这时就可以用Url重写来解决,
定义一个c_para1value_para2value.aspx指向c.aspx?para1=para1value¶2=para2value的转换,这样就成了
a ==> b.aspx?para1=xxx¶2=zzz&ReturnUrl=c_000_111.aspx
b ==> c_000_111.aspx
到c.aspx时,系统已经“偷偷”将c_000_111.aspx转换成了
c.aspx?para1=000¶2=111
这样,不就达到传递参数的目的了嘛
很简单的事情,有必要说那么复杂吗。.NET都帮你想好了,只是自己知道是怎么回事就是。POST的时候:
HttpUtility.UrlEncode(“你要传的字符串含?号的”)REQUEST的时候:
直接Request就是你的值了。
2.自己写一个继承这个接口的
3.所有页面的基类都继承自BASEPAGE类