网址传值太不安全,比如两个页面,List为列表页面,Detail为内容页面。现在要从列表页面传记录ID到内容页面,内容页面再获取此ID从数据库中取出其内容。
使用网址传值是:Detail.aspx?ID=1001
如果是使用表单,那应该如何写?

解决方案 »

  1.   

    列表页面 session["id"]="1001";
    内容页面 string str = session["id"].ToString();
      

  2.   

    <input name="ID" value="1011">
      

  3.   

    List页面的Form内添加隐藏文本框Tb_id,并赋值。
    Detail页面Request.Form["Tb_id"];
      

  4.   

    使用<input name="ID" value="1011">
      

  5.   

    string value = Request.Form["ID"];
      

  6.   

    不能用Session值,因为是使用Window.open()方法打开页面的,页面里取不到SESSION值。
      

  7.   

    我使用以下代码:
    List.aspx:
    <HTML>
    <HEAD>
    <title>Test1</title>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server" action="Test2.aspx">
        <INPUT id="LoginName" value='liuyw' type="hidden"> 
                          <INPUT  type="submit" value="Button" onclick="window.open('Test2.aspx')">
    </form>
    </body>
    </HTML>
    Detail.aspx.cs中:
    if (Request.Form["LoginName"] != null)
    {
    string strLoginName = Request.Form["LoginName"].ToString();
    this.TextBox1.Text = strLoginName;
    }
    else
    {
    this.TextBox1.Text = "null";
    }结果取不到值。是什么原因?
      

  8.   

    <INPUT id="LoginName" value='liuyw' type="hidden"> == == == >> 修改成<INPUT id="LoginName" value=<%liuyw%> type="hidden">
      

  9.   

    在孟子上加个属性
    <input name="ID" type="hidden" value="1011">
      

  10.   

    <input name="id" type="hidden" value="1011">
    用隐藏域
      

  11.   

    LZ,我試了你給出的代碼,的確取不到值.据說asp.net2.0可以做到.在不同的瀏覽窗口傳遞數據試試cookie,可以達到你的要求.在web.config文件中設置用戶在沒有開啟cookie的情況下仍能使用sessions
    //Indicates that sessions without cookies should be used.
    <sessionState mode="InProc" cookieless="true" />List.aspx:
    <HTML>
    <HEAD>
    <title>Test1</title>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="Form1" method="post" runat="server" >
           <INPUT  type="submit" value="Button" onclick="window.open('Detail.aspx')">
    </form>
    </body>
    </HTML>List.aspx.cs中:
    Response.Cookies["LoginName"].Value="Liuyw";Detail.aspx.cs中:
    HttpCookie LoginCookie=Request.Cookies["LoginName"];
    if (LoginCookie!=null)
    {
       string strLoginName = LoginCookie.Value;
       TextBox1.Text = strLoginName;
    }
    else
    {
       TextBox1.Text = "null";
    }