方法一:
使用postback
<%
@ Page Language
=
"
C#
"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
private void Page_Load(object sender, System.EventArgs e)
{
// Insure that the __doPostBack() JavaScript method is created
this .ClientScript.GetPostBackEventReference( this , string.Empty);
if ( this .IsPostBack)
{
string eventTarget = ( this .Request[ " __EVENTTARGET " ] == null ) ? string.Empty : this .Request[ " __EVENTTARGET " ];
string eventArgument = ( this .Request[ " __EVENTARGUMENT " ] == null ) ? string.Empty : this .Request[ " __EVENTARGUMENT " ];
if (eventTarget == " SetSessionPostBack " )
this .Session[ " SessionValue " ] = eventArgument;
}
else
{
this .Session[ " SessionValue " ] = " Original value " ;
}
this .Response.Write( " SessionValue: " + this .Session[ " SessionValue " ].ToString() + " <br> " );
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title ></ title >
< script type ="text/javascript" >
function setSessionValue(newValue) {
__doPostBack( ' SetSessionPostBack ' , newValue);
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< input id ="Button1" type ="button" value ="button" onclick ="setSessionValue('hello');" />< div >
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
private void Page_Load(object sender, System.EventArgs e)
{
// Insure that the __doPostBack() JavaScript method is created
this .ClientScript.GetPostBackEventReference( this , string.Empty);
if ( this .IsPostBack)
{
string eventTarget = ( this .Request[ " __EVENTTARGET " ] == null ) ? string.Empty : this .Request[ " __EVENTTARGET " ];
string eventArgument = ( this .Request[ " __EVENTARGUMENT " ] == null ) ? string.Empty : this .Request[ " __EVENTARGUMENT " ];
if (eventTarget == " SetSessionPostBack " )
this .Session[ " SessionValue " ] = eventArgument;
}
else
{
this .Session[ " SessionValue " ] = " Original value " ;
}
this .Response.Write( " SessionValue: " + this .Session[ " SessionValue " ].ToString() + " <br> " );
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title ></ title >
< script type ="text/javascript" >
function setSessionValue(newValue) {
__doPostBack( ' SetSessionPostBack ' , newValue);
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< input id ="Button1" type ="button" value ="button" onclick ="setSessionValue('hello');" />< div >
</ div >
</ form >
</ body >
</ html >
方法二:
使用AJAX
<%
@ Page Language
=
"
C#
"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
private void Page_Load(object sender, System.EventArgs e)
{
if ( ! this .IsPostBack)
{
this .Session[ " SessionValue " ] = " Original value " ;
}
this .Response.Write( " SessionValue: " + this .Session[ " SessionValue " ].ToString() + " <br> " );
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title ></ title >
< script type ="text/javascript" >
function makeAjaxCall(webUrl, queryString) {
var xmlHttpObject = null ;
try {
// Firefox, Opera 8.0+, Safari
xmlHttpObject = new XMLHttpRequest();
}
catch (ex) {
// Internet Explorer
try {
xmlHttpObject = new ActiveXObject( ' Msxml2.XMLHTTP ' );
}
catch (ex) {
xmlHttpObject = new ActiveXObject( ' Microsoft.XMLHTTP ' );
}
}
if (xmlHttpObject == null ) {
window.alert( ' AJAX is not available in this browser ' );
return ;
}
xmlHttpObject.open( " GET " , webUrl + queryString, false );
xmlHttpObject.send();
var xmlText = xmlHttpObject.responseText;
return xmlText;
}
function setSessionValue(newValue) {
var webUrl = ' AjaxPage.aspx ' ;
var queryString = ' ?SessionValue= ' + newValue;
var returnCode = makeAjaxCall(webUrl, queryString);
// alert(returnCode);
<%= ClientScript.GetPostBackEventReference( this , string.Empty) %> ;
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< input id ="Button1" type ="button" value ="button" onclick ="setSessionValue('Lance Zhang');" />< div >
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
private void Page_Load(object sender, System.EventArgs e)
{
if ( ! this .IsPostBack)
{
this .Session[ " SessionValue " ] = " Original value " ;
}
this .Response.Write( " SessionValue: " + this .Session[ " SessionValue " ].ToString() + " <br> " );
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title ></ title >
< script type ="text/javascript" >
function makeAjaxCall(webUrl, queryString) {
var xmlHttpObject = null ;
try {
// Firefox, Opera 8.0+, Safari
xmlHttpObject = new XMLHttpRequest();
}
catch (ex) {
// Internet Explorer
try {
xmlHttpObject = new ActiveXObject( ' Msxml2.XMLHTTP ' );
}
catch (ex) {
xmlHttpObject = new ActiveXObject( ' Microsoft.XMLHTTP ' );
}
}
if (xmlHttpObject == null ) {
window.alert( ' AJAX is not available in this browser ' );
return ;
}
xmlHttpObject.open( " GET " , webUrl + queryString, false );
xmlHttpObject.send();
var xmlText = xmlHttpObject.responseText;
return xmlText;
}
function setSessionValue(newValue) {
var webUrl = ' AjaxPage.aspx ' ;
var queryString = ' ?SessionValue= ' + newValue;
var returnCode = makeAjaxCall(webUrl, queryString);
// alert(returnCode);
<%= ClientScript.GetPostBackEventReference( this , string.Empty) %> ;
}
</ script >
</ head >
< body >
< form id ="form1" runat ="server" >
< input id ="Button1" type ="button" value ="button" onclick ="setSessionValue('Lance Zhang');" />< div >
</ div >
</ form >
</ body >
</ html >
方法二中,设置session需要一个额外的aspx页面:
<%
@ Page Language
=
"
C#
"
%>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
private void Page_Load(object sender, System.EventArgs e)
{
string sessionValue = ( this .Request[ " SessionValue " ] == null ) ? string.Empty : this .Request[ " SessionValue " ];
string returnValue = " Sesson value changed to " + sessionValue;
this .Session[ " SessionValue " ] = sessionValue;
this .Response.ClearHeaders();
this .Response.Clear();
this .Response.Write(returnValue);
this .Response.End();
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title ></ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
</ div >
</ form >
</ body >
</ html >
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
< script runat ="server" >
private void Page_Load(object sender, System.EventArgs e)
{
string sessionValue = ( this .Request[ " SessionValue " ] == null ) ? string.Empty : this .Request[ " SessionValue " ];
string returnValue = " Sesson value changed to " + sessionValue;
this .Session[ " SessionValue " ] = sessionValue;
this .Response.ClearHeaders();
this .Response.Clear();
this .Response.Write(returnValue);
this .Response.End();
}
</ script >
< html xmlns ="http://www.w3.org/1999/xhtml" >
< head runat ="server" >
< title ></ title >
</ head >
< body >
< form id ="form1" runat ="server" >
< div >
</ div >
</ form >
</ body >
</ html >