需要是要有一个查询页和一个列表页
因为查询页的参数很多(因为以前的项目中出现了浏览器对get方式的传值支持不好,过多的参数很容易出现找不到的问题)
所以我用了Server.Transfer将数据直接post到列表页
让列表页直接显示数据
但是这样做的问题就是
这站点导航就没法做了因为Server.Transfer不会改变url
现在想要的效果就是
像以前asp一样 在form的action里面写上指定的地址
那么url会改变 同时也是用的post传值
也许是我学艺不精 不知在asp。net里该如何下手 希望高手指点
ps:因为项目里面用了母板页 所以服务器端form标记是不能改变成html的form标记的,也就是写一个asp的form提交是不成立的,而且不到万不得已我也不愿意这样做
第一、可以设置Button的PostbackUrl属性为目标页面,这样就会把原页面的数据Post到目标页面
第二、可以在目标页面添加<%@ PreviousPageType VirtualPath="原页面"%>,这样就可以通过PreviousPage属性得到原页面的一个实例,使用FindControl()找到空间,也可以在原页面设置Public属性来直接获取。
PS:直接写Form 的action属性是有问题的,好像在3.5中可以设置了,但是在2.0中是不可以,你不管怎么设置,默认都是Post数据到本页
你可以象asp那样一样写那个action啊,但是用了模板页也没关系,只要在你的内容页面中使用代码改变一下页面的action就习惯了:
(System.Web.UI.HtmlControls.HtmlForm)(Me.Master.FindControl("_form").Attributes("action")="xxx.aspx"可以设置。你可以试试
页面上再加一个from为第二个,不要runat="server" , action设定成列表页 . 先在浏览器里面遍历第一个form 赋值给第二个form的变量。 然后使用 js提交