deserializeclass.aspx

来自「asp.net技术内幕的书配源码」· ASPX 代码 · 共 67 行

ASPX
67
字号
<%@ Page Language="C#" %>
<%@ Import Namespace="myComponents" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.Runtime.Serialization.Formatters.Binary" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script language="C#" runat=server>

void Button_Click( object s, EventArgs e ) {
	UserInfo objUserInfo;
	MemoryStream objMemoryStream;
	BinaryFormatter objBinaryFormatter;
	SqlConnection conMyData;
	SqlCommand cmdSelect;
	SqlDataReader dtrUserInfo;
	int nBufferSize = 255, nReadBytes = 0, nTotalBytes = 0;
	byte[] arrByte = new byte[nBufferSize];
	conMyData = new SqlConnection( @"Server=TIM-LAPTOP\VSDotNet;Integrated Security=SSPI;Database=myData" );
	cmdSelect = new SqlCommand( "SELECT username, userInfo FROM Userlist WHERE username=@username", conMyData );
	cmdSelect.Parameters.Add( "@username", txtUsername.Text );
	conMyData.Open();
		dtrUserInfo = cmdSelect.ExecuteReader();
		if ( dtrUserInfo.Read() ) {
			arrByte = (byte[])dtrUserInfo[ "userinfo" ];
			objMemoryStream = new MemoryStream( arrByte );
			objBinaryFormatter = new BinaryFormatter();
			objUserInfo = (UserInfo)objBinaryFormatter.Deserialize( objMemoryStream );
			txtPassword.Text = objUserInfo.Password;
			txtEmail.Text = objUserInfo.Email;
		}
	conMyData.Close();
}

</Script>

<html>
<head><title>DeserializeClass.aspx</title></head>
<body>
<form runat="Server">

Username:
<br><asp:TextBox 
  id="txtUsername" 
  runat="Server" />
<p>
<asp:Button 
  Text="Retrieve!" 
  OnClick="Button_Click" 
  runat="Server" />
<hr>
Password:
<br><asp:Label 
  id="txtPassword" 
  EnableViewState="False"
  runat="Server" />
<p>
Email:
<br><asp:Label 
  id="txtEmail" 
  EnableViewState="False"
  runat="Server" />
<p>

</form>
</body>
</html>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?