BookingLogin.aspx的代码(片段)
<a href='javascript:con=window.confirm("你确定取消预约该实验吗?"); if(con) window.location="BookingCancel.aspx?name=<% = sdr2["experiment_name"].ToString() %>&user_name=<% = sdr2["experiment_user_name"].ToString() %>"; else window.location="BookingLogin.aspx? %>";' >取消预约</a>
点击“取消预约”后进入另一页面BookingCancel.aspx
BookingCancel.aspx.cs 文件中有代码
        string experiment_name, user_name;
        experiment_name = Request.QueryString["name"].ToString();
        user_name = Request.QueryString["user_name"].ToString();        string connstr = ConfigurationManager.ConnectionStrings["ConnStr"].ToString();
        SqlConnection conn = new SqlConnection(connstr);
        conn.Open();        string sqlstr = "DELETE FROM experiment_user_table WHERE experiment_name='" + experiment_name + "' and experiment_user_name='" + user_name + "'";
        SqlCommand cmd = new SqlCommand(sqlstr, conn);        try
        {
            cmd.ExecuteNonQuery();
            ScriptManager.RegisterStartupScript(this, GetType(), "", "<script>alert('取消实验预约成功!');location.href='BookingLogin.aspx';</script>", false);
        }
发现Request QueryString取值无效,请问原因是什么,是乱码的问题吗?

解决方案 »

  1.   


    else window.location="BookingLogin.aspx?取消没传参数
      

  2.   

    experiment_name = Request.QueryString["name"]==null?"":Request.QueryString["name"].ToString(); 
     
    <a href='javascript:if(confirm("你确定取消预约该实验吗?"))window.location="BookingCancel.aspx?name= <% = sdr2["experiment_name"].ToString() %>&user_name= <% = sdr2["experiment_user_name"].ToString() %>"; else window.location="BookingLogin.aspx%>";' >取消预约 </a>
    用HttpUtility.UrlEncode编码
      

  3.   

    把那些js写到一个js方法里面吧,然后在触发方法
      

  4.   

    看看sdr2["experiment_name"].ToString() 确实有值吗?
      

  5.   

    window.location="BookingCancel.aspx?name= <% = sdr2["experiment_name"].ToString() %>&user_name= <% = sdr2["experiment_user_name"].ToString() %>";
    你location=后面还是“号?如果是,sdr2[后是不是也用了“号呢?
      

  6.   

    sdr2是什么东西?在哪里定义的?
    <%与=中间不要空格