نمایش نتایج 1 تا 3 از 3

نام تاپیک: حفظ مقادیر فرم و session در هنگام ارسال فرم

  1. #1

    حفظ مقادیر فرم و session در هنگام ارسال فرم

    سلام
    من یه صفحه دارم که دو تا فرم توشه که هردو شونم به همون صفحه ارسال میشن.بعد مقادیر هردو فرم رو در دو session ذخیره میکنم که باهاش اطلاعات رو از بانک لود کنم.
    حالا مشکل اینجاست که وقتی فرم submit میشه یکی از session ها پاک میشن.مثلا وقتی نام شهر رو انتخاب میکنی session("usercode") پاک میشه و وقتی نام کاربر رو انتخاب میکنی citycode پاک میشه.برای اینکه بهتر منظورم رو متوجه بشین سورس صفحه رو میذارم.

    <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    <link href="css1.css" rel="stylesheet" type="text/css" />
    <style type="text/css">
    <!--
    body,td,th {
    font-family: Tahoma;
    }
    -->
    </style>
    <!--#include file="date.asp"-->
    </head>
    <body topmargin="0" bottommargin="0" rightmargin="0" leftmargin="0" bgcolor="#efefef">
    <br />
    <center><span dir="rtl" class="formtitle">test</span></center>
    <hr width="70%" color="#FF0099"/>
    <table width="768" height="" border="0" align="center" cellpadding="0" cellspacing="0">
    <%
    'if session("membertype")="siteadmin1" then
    DIM objConn
    Set objConn = Server.CreateObject("ADODB.Connection")
    objConn.ConnectionString = "Driver={SQL Server}; Server=(local); Database=amar; UID=@RK_BUS2006*; PWD=@RK_BUS2006*;"
    objConn.Open
    dim objrs
    Set objrs = Server.CreateObject("ADODB.recordset")
    dim mysql
    dim userlist_load

    if request.Form("codecity")<>"null" then
    if session("codecity")<>request.Form("codecity") then
    session("codecity")=request.Form("codecity")
    session("usercode")=""
    session("av_year")=""
    session("edit_from")=""
    session("edit_to")=""
    userlist_load=true
    end if
    end if

    if request.Form("usercode")<>"null" then
    if session("usercode")<>request.Form("usercode") then
    session("usercode")=request.Form("usercode")
    session("av_year")=""
    session("edit_from")=""
    session("edit_to")=""
    userlist_load=false
    end if
    end if

    if session("av_year")<>request.Form("av_year") then
    session("av_year")=request.Form("av_year")
    userlist_load=false
    end if

    if session("edit_from")<>request.Form("edit_from") or session("edit_to")<>request.Form("edit_to") then
    session("edit_from")=request.Form("edit_from")
    session("edit_to")=request.Form("edit_to")
    userlist_load=false
    end if
    '******************** city list loading
    mysql="select * from tblcity"
    Set objrs = objconn.Execute(mysql)
    %>
    <form method="post" name="form" action="useractivityreport2.asp">
    <select onchange="this.form.submit();" name="codecity" dir="rtl" class="box3">
    <option value="null">شهر کاربر</option>
    <%
    do while not objrs.eof
    %>
    <option value="<%=objrs("codecity")%>" <%if session("codecity")=objrs("codecity") then%>selected="selected"<%end if%>><%=objrs("namecity")%>
    </option>
    <%
    objrs.movenext
    loop
    %>
    </select><span class="formtext">&nbsp;: شهر &nbsp;</span>
    </form>
    <%
    '******************** /city list loading
    '******************** user list loading
    if userlist_load=true then
    mysql="select * from tbluser where usercitycode='"&session("codecity")&"';"
    Set objrs = objconn.Execute(mysql)
    if not objrs.eof then
    %>
    <form method="post" name="form" action="useractivityreport2.asp">
    <select name="usercode" onchange="this.form.submit();" dir="rtl" class="box3">
    <option value="null" <%if session("usercode")="" then%>selected="selected"<%end if%>>نام کاربری</option>
    <%if session("codecity")="1" then%>
    <option value="0">siteadmin</option>
    <%end if%>
    <%do while not objrs.eof%>
    <option value="<%=objrs("usercode")%>" <%if session("usercode")=objrs("usercode") then%> selected="selected"<%end if%>><%=objrs("username")%>
    </option>
    <%
    objrs.movenext
    loop
    %>
    </select><span class="formtext">&nbsp;: نام کاربری &nbsp;</span></form>
    <%
    else
    %>
    <form method="post" action="useractivityreport2.asp">
    <select name="usercode" dir="rtl" class="box3">
    <option value="null">هیچ کاربری یافت نشد</option>
    </select><span class="formtext">&nbsp;: نام کاربری &nbsp;</span>
    </form>
    <%
    end if
    else
    %>
    <form method="post" action="useractivityreport2.asp">
    <select name="usercode" dir="rtl" class="box3">
    <option value="null">هیچ کاربری یافت نشد</option>
    </select><span class="formtext">&nbsp;: نام کاربری &nbsp;</span>
    </form>
    <%

    end if
    '******************** /user list loading

    '******************** session test
    response.Write("citycode: "&session("codecity"))
    response.Write("<br>")
    response.Write("usercode: "&session("usercode"))
    response.Write("<br>")
    response.Write("av_year: "&session("av_year"))
    response.Write("<br>")
    response.Write("edit_from: "&session("edit_from"))
    response.Write("<br>")
    response.Write("edit_to: "&session("edit_to"))
    '********************* /session test
    'else
    'response.Write("you have not permission to access this page")
    'end if
    %>
    <br />
    <hr />
    <a href="index.asp">back to home</a>
    </body>
    </html>


    موفق باشید.

  2. #2
    خب طبق منطق کد شما کار طبیعیه!!!
    شما وقتی داری usercode رو می خونی بقیه session ها رو پاک می کنی

    وقتی هم داری codecity رو می خونی بقیه session ها رو پاک می کنی.


    if request.Form("codecity")<>"null" then
    if session("codecity")<>request.Form("codecity") then
    session("codecity")=request.Form("codecity")
    session("usercode")=""
    session("av_year")=""
    session("edit_from")=""
    session("edit_to")=""
    userlist_load=true
    end if
    end if

  3. #3
    سلام
    مرسی مشکلم برطرف شده.راه حلشو میذارم برای دوستانی که احیانا این مشکلو دارن.
    وقتی چند فرم با هم به یه صفحه submit میشن مقادیر اون فرمی که submit نشده از بین میره و فقط مقادیر فرم submit شده اعتبار دارن.پس باید داخل فرم دوم مقادیر فرم اول رو مجددا با فیلدهای hidden ارسال کرد.مثلا اگه 3 تا فرم داشته باشیم،باید مقادیر فرمهای 1و2 رو در فرم 3 با فیلدهای hidden ارسال کنیم تا از دست نرن.

    موفق باشید

تاپیک های مشابه

  1. Session چیست ؟
    نوشته شده توسط merlin_vista در بخش ASP.NET Web Forms
    پاسخ: 5
    آخرین پست: چهارشنبه 16 مرداد 1392, 09:13 صبح
  2. خالی شدن Session
    نوشته شده توسط Behsharp در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 03 شهریور 1386, 16:17 عصر
  3. TimeOut کردن یک Session خاص نه تمام Session های بکار رفته؟
    نوشته شده توسط Behsharp در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: شنبه 08 مهر 1385, 11:16 صبح
  4. تفاوت session و cooki-less session
    نوشته شده توسط bluesky2005 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: شنبه 08 اسفند 1383, 07:44 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •