首页 新闻 搜索 专区 学院

站点导航 和 Server.Transfer的冲突

0
悬赏园豆:50 [已解决问题] 解决于 2009-01-05 01:15

需要是要有一个查询页和一个列表页

因为查询页的参数很多(因为以前的项目中出现了浏览器对get方式的传值支持不好,过多的参数很容易出现找不到的问题)

所以我用了Server.Transfer将数据直接post到列表页

让列表页直接显示数据

但是这样做的问题就是

这站点导航就没法做了因为Server.Transfer不会改变url

 

现在想要的效果就是

像以前asp一样 在form的action里面写上指定的地址

那么url会改变 同时也是用的post传值

也许是我学艺不精 不知在asp。net里该如何下手 希望高手指点

ps:因为项目里面用了母板页 所以服务器端form标记是不能改变成html的form标记的,也就是写一个asp的form提交是不成立的,而且不到万不得已我也不愿意这样做

 

 

 

小眼睛老鼠的主页 小眼睛老鼠 | 老鸟四级 | 园豆:2774
提问于:2008-12-22 00:36
< >
分享
最佳答案
0

第一、可以设置Button的PostbackUrl属性为目标页面,这样就会把原页面的数据Post到目标页面

第二、可以在目标页面添加<%@ PreviousPageType VirtualPath="原页面"%>,这样就可以通过PreviousPage属性得到原页面的一个实例,使用FindControl()找到空间,也可以在原页面设置Public属性来直接获取。

PS:直接写Form 的action属性是有问题的,好像在3.5中可以设置了,但是在2.0中是不可以,你不管怎么设置,默认都是Post数据到本页

上不了岸的鱼 | 老鸟四级 |园豆:4611 | 2008-12-25 14:40
其他回答(2)
0

你可以象asp那样一样写那个action啊,但是用了模板页也没关系,只要在你的内容页面中使用代码改变一下页面的action就习惯了:

(System.Web.UI.HtmlControls.HtmlForm)(Me.Master.FindControl("_form").Attributes("action")="xxx.aspx"可以设置。你可以试试

GUO Xingwang | 园豆:3885 (老鸟四级) | 2008-12-22 09:41
0

页面上再加一个from为第二个,不要runat="server" , action设定成列表页 . 先在浏览器里面遍历第一个form 赋值给第二个form的变量。  然后使用 js提交

暗香浮动 | 园豆:361 (菜鸟二级) | 2008-12-22 09:43
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册