editdocs.aspx.cs
来自「三层架构的.net源码三层架构的.net源码」· CS 代码 · 共 180 行
CS
180 行
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Data.SqlClient;
using System.Drawing;
using System.IO;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
namespace MyStarterKit.Portal.Web
{
/// <summary>
/// EditDocs 的摘要说明。
/// </summary>
public class EditDocs : System.Web.UI.Page
{
protected System.Web.UI.WebControls.TextBox NameField;
protected System.Web.UI.WebControls.RequiredFieldValidator RequiredFieldValidator1;
protected System.Web.UI.WebControls.TextBox CategoryField;
protected System.Web.UI.WebControls.TextBox PathField;
protected System.Web.UI.WebControls.CheckBox Upload;
protected System.Web.UI.WebControls.CheckBox storeInDatabase;
protected System.Web.UI.WebControls.LinkButton updateButton;
protected System.Web.UI.WebControls.LinkButton cancelButton;
protected System.Web.UI.WebControls.LinkButton deleteButton;
protected System.Web.UI.WebControls.Label CreatedBy;
protected System.Web.UI.WebControls.Label CreatedDate;
protected System.Web.UI.HtmlControls.HtmlInputFile FileUpload;
int itemId = 0;
int moduleId = 0;
private void Page_Load(object sender, System.EventArgs e)
{
// 所属模块Id
moduleId = Int32.Parse(Request.Params["Mid"]);
// 验证用户是否可以修改指定模块
if (PortalSecurity.HasEditPermissions(moduleId) == false)
{
Response.Redirect("~/Admin/EditAccessDenied.aspx");
}
// 项Id
if (Request.Params["ItemId"] != null)
{
itemId = Int32.Parse(Request.Params["ItemId"]);
}
if (!Page.IsPostBack)
{
if (itemId != 0)
{
// 初值
DocumentDB documents = new DocumentDB();
SqlDataReader dr = documents.GetSingleDocument(itemId);
dr.Read();
int dbModuleID = Convert.ToInt32(dr["ModuleID"]);
if (dbModuleID != moduleId)
{
dr.Close();
Response.Redirect("~/Admin/EditAccessDenied.aspx");
}
NameField.Text = (String) dr["FileFriendlyName"];
PathField.Text = (String) dr["FileNameUrl"];
CategoryField.Text = (String) dr["Category"];
CreatedBy.Text = (String) dr["CreatedByUser"];
CreatedDate.Text = ((DateTime) dr["CreatedDate"]).ToShortDateString();
dr.Close();
}
// 存储上次请求页Url
ViewState["UrlReferrer"] = Request.UrlReferrer.ToString();
}
}
/// <summary>
/// 更新
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void UpdateBtn_Click(Object sender, EventArgs e)
{
if (Page.IsValid == true)
{
DocumentDB documents = new DocumentDB();
if ((storeInDatabase.Checked == true) && (FileUpload.PostedFile != null))
{
//当选择要上传到数据库中且上传文件不等于空时,当上传到服务器与上传到数据同时勾选时以上传到数据库为主
int length = (int) FileUpload.PostedFile.InputStream.Length;
String contentType = FileUpload.PostedFile.ContentType;
byte[] content = new byte[length];
FileUpload.PostedFile.InputStream.Read(content, 0, length);
// 获取文件名(解决ViewDocument中的Bug),这就屏蔽了填写的文件名称,在不改动数据库的情况下只好这样
NameField.Text = Path.GetFileName(FileUpload.PostedFile.FileName);
documents.UpdateDocument( moduleId, itemId, Context.User.Identity.Name, NameField.Text, PathField.Text, CategoryField.Text, content, length, contentType );
}
else
{
// 当要穿到服务器上且上传文件不等于空时
if ((Upload.Checked == true) && (FileUpload.PostedFile != null))
{
// 默认上传到/uploads文件夹下的虚拟路径
String virtualPath = "~/uploads/" + Path.GetFileName(FileUpload.PostedFile.FileName);
// 要上传到服务器上的物理路径
String phyiscalPath = Server.MapPath(virtualPath);
// 上传
FileUpload.PostedFile.SaveAs(phyiscalPath);
// 获取虚拟路径
PathField.Text = virtualPath;
}
documents.UpdateDocument( moduleId, itemId, Context.User.Identity.Name, NameField.Text, PathField.Text, CategoryField.Text, new byte[0], 0, "" );
}
// 返回
Response.Redirect((String) ViewState["UrlReferrer"]);
}
}
/// <summary>
/// 删除
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void DeleteBtn_Click(Object sender, EventArgs e)
{
if (itemId != 0)
{
DocumentDB documents = new DocumentDB();
documents.DeleteDocument(itemId);
}
Response.Redirect((String) ViewState["UrlReferrer"]);
}
/// <summary>
/// 取消
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void CancelBtn_Click(Object sender, EventArgs e)
{
Response.Redirect((String) ViewState["UrlReferrer"]);
}
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.updateButton.Click += new System.EventHandler(this.UpdateBtn_Click);
this.cancelButton.Click += new System.EventHandler(this.CancelBtn_Click);
this.deleteButton.Click += new System.EventHandler(this.DeleteBtn_Click);
this.Load += new System.EventHandler(this.Page_Load);
}
#endregion
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?