managebookdetail.aspx.cs
来自「这是一个编好的网上书店系统」· CS 代码 · 共 369 行
CS
369 行
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
namespace BookStore.Admin
{
/// <summary>
/// ManageBookDetail 的摘要说明。
/// </summary>
public class ManageBookDetail : System.Web.UI.Page
{
protected System.Web.UI.WebControls.HyperLink HyperLink1;
protected System.Web.UI.WebControls.HyperLink HyperLink4;
protected System.Web.UI.WebControls.HyperLink Hyperlink9;
protected System.Web.UI.WebControls.HyperLink HyperLink2;
protected System.Web.UI.WebControls.HyperLink HyperLink3;
protected System.Web.UI.WebControls.HyperLink HyperLink5;
protected System.Web.UI.WebControls.HyperLink Hyperlink7;
protected System.Web.UI.WebControls.HyperLink Hyperlink8;
protected System.Web.UI.WebControls.HyperLink HyperLink6;
protected System.Web.UI.WebControls.Label Label1;
protected System.Web.UI.WebControls.TextBox tbBookName;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.Label Label2;
protected System.Web.UI.WebControls.DropDownList ddPublisher;
protected System.Web.UI.WebControls.TextBox tbOherPublisher;
protected System.Web.UI.WebControls.Label Label3;
protected System.Web.UI.WebControls.TextBox tbAuthor;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator2;
protected System.Web.UI.WebControls.Label Label4;
protected System.Web.UI.WebControls.DropDownList ddSuperType;
protected System.Web.UI.WebControls.DropDownList ddClassInfo;
protected System.Web.UI.WebControls.Label Label5;
protected System.Web.UI.WebControls.TextBox tbTranslator;
protected System.Web.UI.WebControls.Label Label7;
protected System.Web.UI.WebControls.DropDownList ddPageLarge;
protected System.Web.UI.WebControls.Label Label8;
protected System.Web.UI.WebControls.TextBox tbISBN;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator3;
protected System.Web.UI.WebControls.Label Label6;
protected System.Web.UI.WebControls.TextBox tbPage;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator6;
protected System.Web.UI.WebControls.RegularExpressionValidator RegularExpressionValidator1;
protected System.Web.UI.WebControls.Label Label9;
protected System.Web.UI.WebControls.TextBox tbPublishDate;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator4;
protected System.Web.UI.WebControls.Label Label11;
protected System.Web.UI.WebControls.TextBox tbPrice;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator5;
protected System.Web.UI.WebControls.Label Label13;
protected System.Web.UI.WebControls.RadioButton rbYes;
protected System.Web.UI.WebControls.RadioButton rbNo;
protected System.Web.UI.WebControls.Label Label14;
protected System.Web.UI.WebControls.Image imgBookCover;
protected System.Web.UI.WebControls.Button btCoverUp;
protected System.Web.UI.WebControls.Label Label10;
protected System.Web.UI.WebControls.TextBox tbDescription;
protected System.Web.UI.WebControls.Button btUpdateBook;
protected System.Web.UI.WebControls.Label lbInfo;
protected System.Web.UI.WebControls.Label lbImage;
protected System.Web.UI.HtmlControls.HtmlForm Form1;
protected System.Web.UI.HtmlControls.HtmlInputFile File1;
RobertSoft.BookStore.Book currentBook = new RobertSoft.BookStore.Book();
protected System.Web.UI.WebControls.HyperLink Hyperlink10;
protected System.Web.UI.WebControls.DropDownList ddDiscount;
protected System.Web.UI.WebControls.Label lbDiscount;
static int nBookID;
private void Page_Load(object sender, System.EventArgs e)
{
if(!IsPostBack)
{
if(Object.Equals(Session["UserName"],null))
{
Response.Redirect("../Error.aspx");
}
else
{
if(!RobertSoft.BookStore.User.IsSupervisor(Session["UserName"].ToString()))
{
Response.Redirect("../Default.aspx");
}
else
{
nBookID = int.Parse(Request["ID"].ToString());
TypeBind(nBookID);
}
}
}
}
private void TypeBind(int nID)
{
this.imgBookCover.Visible = false;
DataSet currentDS, SubTypeDS;
string strSql;
strSql = "select *, img=case when(not Cover is null) then ' <img src=../ReadBookCover.aspx?id='+cast(ID as varchar(10))+' Border=1 width=150 height=190>' else ' <img src=../img/NoCover.jpg border=1 width=150 height=190>' end from ManageBookView where ID=" + nID;
try
{
currentDS = RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForDS(strSql);
}
catch
{
return;
}
this.ddClassInfo.DataSource = currentDS.Tables[0].DefaultView;
DataRow currentDR;
currentDR = currentDS.Tables[0].Rows[0];
this.tbAuthor.Text = currentDR["Author"].ToString();
this.tbBookName.Text = currentDR["BookName"].ToString();
this.tbDescription.Text = currentDR["Description"].ToString();
this.tbISBN.Text = currentDR["ISBN"].ToString();
this.tbOherPublisher.Text = currentDR["PublishingHouse"].ToString();
this.tbPage.Text = currentDR["Pages"].ToString();
this.tbPrice.Text = currentDR["Price"].ToString();
this.tbPublishDate.Text = currentDR["PublishDate"].ToString();
this.tbTranslator.Text = currentDR["Translator"].ToString();
this.ddSuperType.SelectedValue = currentDR["SuperBookType"].ToString();
strSql = "select BookType, TypeName from BookType where SuperBookType=" + int.Parse(currentDR["SuperBookType"].ToString());
try
{
SubTypeDS = RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForDS(strSql);
}
catch
{
return;
}
this.ddClassInfo.DataSource = SubTypeDS.Tables[0].DefaultView;
this.ddClassInfo.DataTextField = "TypeName";
this.ddClassInfo.DataValueField = "BookType";
this.ddClassInfo.DataBind();
this.ddClassInfo.SelectedValue = currentDR["BookType"].ToString();
this.ddPageLarge.SelectedValue = currentDR["PageLarge"].ToString();
for(int i=85; i>=65; i--)
{
this.ddDiscount.Items.Add(i.ToString());
}
if(int.Parse(currentDR["SpecialPrice"].ToString()) == 1)
{
this.rbYes.Checked = true;
this.rbNo.Checked = false;
this.ddDiscount.Visible = true;
this.lbDiscount.Visible = true;
this.ddDiscount.SelectedValue = currentDR["Discount"].ToString();
}
else
{
this.rbYes.Checked = false;
this.rbNo.Checked = true;
}
this.lbImage.Visible = true;
this.lbImage.Text = currentDR["img"].ToString();
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.ddSuperType.SelectedIndexChanged += new System.EventHandler(this.ddSuperType_SelectedIndexChanged);
this.rbYes.CheckedChanged += new System.EventHandler(this.rbYes_CheckedChanged);
this.rbNo.CheckedChanged += new System.EventHandler(this.rbNo_CheckedChanged);
this.btCoverUp.Click += new System.EventHandler(this.btCoverUp_Click);
this.btUpdateBook.Click += new System.EventHandler(this.btUpdateBook_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
private void btUpdateBook_Click(object sender, System.EventArgs e)
{
FileStream fs=null;
if(this.tbOherPublisher.Visible == true)
{
if(this.tbOherPublisher.Text == "")
{
this.lbInfo.Text = "出版社不能为空!";
return;
}
}
ArrayList arr;
int nIsSpecialPrice;
if(rbYes.Checked == true )
{
nIsSpecialPrice = 1;
}
else
{
nIsSpecialPrice = 0;
}
try
{
this.btUpdateBook.Enabled = false;
bool nHasImage = false;
arr=new ArrayList();
// BookName, PublishingHouse, ClassInfo, Author, Translator, ISBN, Pages, PageLarge, SeriesName,
// PublishDate, Price, Description, Abstract, BookCatalog, Cover, CommentNumber, HitNumber, SoldNumber,
// Status, SpecialPrice, Discount
arr.Add(this.tbBookName.Text.Trim());
arr.Add(this.tbOherPublisher.Text.Trim());
arr.Add(this.ddClassInfo.SelectedValue.Trim());
arr.Add(this.tbAuthor.Text.Trim());
arr.Add(this.tbTranslator.Text.Trim());
arr.Add(this.tbISBN.Text.Trim());
arr.Add(this.tbPage.Text.Trim());
arr.Add(this.ddPageLarge.SelectedValue.Trim());
arr.Add(this.tbPublishDate.Text.Trim());
arr.Add(this.tbPrice.Text.Trim());
arr.Add(this.tbDescription.Text.Trim());
arr.Add(nIsSpecialPrice.ToString());
if(this.ddDiscount.Visible == true)
{
arr.Add(this.ddDiscount.SelectedValue.Trim());
}
else
{
arr.Add("90");
}
arr.Add(nBookID.ToString());
if(!Object.Equals(ViewState["PostFileName"],null))
{
int ImageSize=0;
byte[] ImageBuffer;
string FileName;
FileInfo TpFile;
FileName=Server.MapPath("\\BookStore\\UpFile").ToString().Trim()+"\\"+ViewState["PostFileName"];
TpFile=new FileInfo(FileName);
ImageSize=(int)TpFile.Length;
fs=new FileStream(FileName,FileMode.OpenOrCreate);
BinaryReader r=new BinaryReader(fs);
r.BaseStream.Seek(0,SeekOrigin.Begin);
ImageBuffer=r.ReadBytes(ImageSize);
arr.Add(ImageBuffer);
nHasImage = true;
}
currentBook.UpdateBook(arr, nHasImage);
this.lbInfo.Text = "更新图书成功!";
TypeBind(nBookID);
this.btUpdateBook.Enabled = true;
}
catch(Exception er)
{
this.lbInfo.Text = "更新图书失败!";
throw new Exception(er.Message);
}
finally
{
if(!Object.Equals(ViewState["PostFileName"],null))
{
fs.Close();
}
}
}
private void btCoverUp_Click(object sender, System.EventArgs e)
{
this.lbImage.Visible = false;
string Path;
string FileName;
int Po;
long FileSize;
string fType;
if(File1.PostedFile.FileName.Trim()!="") //PostFile's Filename is not empty
{
try
{
this.btCoverUp.Enabled = false;
Path=Server.MapPath("\\BookStore\\UpFile").ToString();
FileName=File1.PostedFile.FileName.ToString();
fType=File1.PostedFile.ContentType;
FileSize=File1.PostedFile.ContentLength;
if(fType.Substring(0,5)!="image")
{
ShowErrMsg("PostFile is not Image!");
return;
}
Po=FileName.LastIndexOf((char)92);
FileName=FileName.Substring(Po+1,FileName.Length -Po-1);
ViewState["PostFileName"]=FileName; //Remember PostFile's name
File1.PostedFile.SaveAs(Path+"\\"+FileName);
this.imgBookCover.Visible = true;
this.imgBookCover.ImageUrl= "..\\UpFile\\" + FileName;
this.btCoverUp.Enabled = true;
}
catch(Exception er)
{
ShowErrMsg(er.Message);
}
}
}
/// <summary>
/// Push Dialog,Show error message
/// </summary>
/// <param name="err">Error Message Detail</param>
private void ShowErrMsg(string err)
{
string str;
str="<script language='javascript'>";
str+=" alert('" +err + "')";
str+="</script>";
this.lbInfo.Text = str;
}
private void rbYes_CheckedChanged(object sender, System.EventArgs e)
{
this.ddDiscount.Visible = true;
this.lbDiscount.Visible = true;
}
private void rbNo_CheckedChanged(object sender, System.EventArgs e)
{
this.ddDiscount.Visible = false;
this.lbDiscount.Visible = false;
}
private void ddSuperType_SelectedIndexChanged(object sender, System.EventArgs e)
{
string strSql = "select BookType, TypeName from BookType where SuperBookType=" + int.Parse(this.ddSuperType.SelectedItem.Value);
DataSet SubTypeDS;
try
{
SubTypeDS = RobertSoft.BookStore.DBClass.DBBaseClass.ExecuteSQLForDS(strSql);
}
catch
{
return;
}
this.ddClassInfo.DataSource = SubTypeDS.Tables[0].DefaultView;
this.ddClassInfo.DataTextField = "TypeName";
this.ddClassInfo.DataValueField = "BookType";
this.ddClassInfo.DataBind();
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?