日期:2014-05-17  浏览次数:20516 次

进入某页面时有传参,但在该页面点查询后由于不传了报错
形容的有点混乱。大意是这样的。
我按如下方法跳转到某个页面
onclick="location.href='project_alcohol.aspx?pjid=<%= base.pjid %>';
可是在这个页面中需要一个查询按钮,按某些条件进行查询。但是点了查询后重新Pageload了,但是由于没有传一个pjid过来,所以会按写的重新报错。
我怎么样才能在点查询进入该页面时使pjid=之前的不变呢。菜鸟啊,愁死了,请大家指点。最好能详细描述,不然可能会看不懂
------最佳解决方案--------------------
第一次有传参数的时候,把参数保存起来。
比如:
Session["pid"] = Request.QueryString["pjid"];

读取的时候做个判断。
string pid="":
if(Request.QueryString["pjid"]!=null)
{
pid = Request.QueryString["pjid"];
}
else if(Session["pid"]!=null)
{
pid =Session["pid"].ToString();
}

------其他解决方案--------------------
查询按钮中
绑定完后
 Response.Redirect("index.aspx?pjid=" + Request.QueryString["pjid"]);方便接受

或者用viewstate存放这个pjid
------其他解决方案--------------------
这个就是页面数据保存问题,使用ViewState即可


public void Page_Load(object sender,EventArgs e)
{
        if(!IsPostBack)
        {
                ViewState["ID"] = Request.QueryString["pjid"].ToString();
        }
}

然后你在按钮啊什么的事件中直接使用ViewState["ID"]即可
public void Button1_Click(object sender,EventArgs e)
{
        string strSQL = "select * from 表名 where ID='"+ViewState["ID"]+"'";
}
------其他解决方案--------------------
表述可能不准确,请高人帮下啊
------其他解决方案--------------------
常用的页面内数据传递使用ViewState,页面间数据传递Session啊等等的。
这些都是基本的。
------其他解决方案--------------------
这个页数你是需要在当前页面记录的。 你可以看看asp.net 有哪些缓存技术。
------其他解决方案--------------------
引用:
查询按钮中
绑定完后
 Response.Redirect("index.aspx?pjid=" + Request.QueryString["pjid"]);方便接受

或者用viewstate存放这个pjid

用您这方法我还能查询么,是不是又跳回来了呀
------其他解决方案--------------------
引用:
这个就是页面数据保存问题,使用ViewState即可


public void Page_Load(object sender,EventArgs e)
{
        if(!IsPostBack)
        {
                ViewState["ID"] = Request.QueryString["pjid"].ToSt……


还比较迷糊,我再研究研究
------其他解决方案--------------------

用您这方法我还能查询么,是不是又跳回来了呀 
//////////
你不是说点了查询后重新Pageload了/
在请求一下页面。Id不是又有了。
------其他解决方案--------------------
viewstate
------其他解决方案--------------------
引用:
用您这方法我还能查询么,是不是又跳回来了呀 
//////////
你不是说点了查询后重新Pageload了/
在请求一下页面。Id不是又有了。


我觉得按您这方法,查询前面那些选项的值都没记没传了,出来的页面应该和没查询的一样。不知道您理解我说的意思没。
------其他解决方案--------------------