⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 housing.aspx.cs

📁 酒店管理 主要实现了基础设施管理(客房管理、客房类型管理)、业务管理(入住、退房、数据库切换) 本系统简单明了,适合初学者学习,采用三层加抽象工厂实现
💻 CS
字号:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

using AjaxControlToolkit;
using BLL;
using Model;

public partial class Housing : System.Web.UI.Page
{
    private RoomOperatorBLL roomOp = new RoomOperatorBLL();///获得操作房间的业务逻辑类

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            if (ConfigurationManager.AppSettings["DAL"].Equals("Access"))
                this.ObjectDataSource1.SelectParameters["sql"].DefaultValue = "select RoomId,Numbers,BedNumber,Description,State,GuessNumber,TypeID from Room where State = '空闲' and GuessNumber = 0";
        }
    }
    protected void btn_Housing_Click(object sender, EventArgs e)
    {
        int editIndex = this.GridView1.EditIndex;//获得当前所编辑的行索引
        Label roomId = this.GridView1.Rows[editIndex].FindControl("lbl_RoomID") as Label;//当前编辑行的房间编号
        TextBox guessNum = this.GridView1.Rows[editIndex].FindControl("txt_GuessNumber") as TextBox;//当前编辑行的入住人数
        if (roomId != null && guessNum != null && !guessNum.Text.Trim().Equals("0"))
        {
            int room_id = int.Parse(roomId.Text.Trim());
            Room room = roomOp.GetRoomByRoomID(room_id);
            room.Guessnumber = int.Parse(guessNum.Text.Trim());
            room.State = "入住";
            if (roomOp.ModifyValuesFormRoom(room))
            {
                Response.Write("<script>alert('入住成功!!')</script>");
                GridViewBind();
            }
            else
            {
                Response.Write("<script>alert('入住失败!!')</script>");
                GridViewBind();
            }
        }
    }

    /// <summary>
    /// 使用DataSourceID重新绑定
    /// </summary>
    private void GridViewBind()
    {
        this.GridView1.EditIndex = -1;
        this.GridView1.DataSourceID = "ObjectDataSource1";
        this.GridView1.DataBind();
        Response.Redirect("~/Housing.aspx");
        Response.End();
    }

    /// <summary>
    /// 编辑GridView行时重新使用DataSource绑定
    /// </summary>
    /// <param name="index"></param>
    private void EditGridViewSource(int index)
    {
        string number = this.txt_Numbers.Text;
        this.GridView1.EditIndex = index;
        this.GridView1.DataSource = roomOp.GetRoomByNumber(number).DefaultView;
        this.GridView1.DataBind();
    }

    /// <summary>
    /// 截取字符串为指定长度
    /// </summary>
    /// <param name="temp"></param>
    /// <returns></returns>
    protected string GetSubStr(object temp)
    {
        return GetSubstring.GetSubStr(temp);
    }
    
    protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
    {
        if (this.GridView1.DataSourceID == "")
        {
            ///编辑GridView当前选择的行
            EditGridViewSource(e.NewEditIndex);

            ///因为重新绑定数据,所以重新对文本框进行验证
            RangeValidator range = this.GridView1.Rows[e.NewEditIndex].FindControl("RangeValidator1") as RangeValidator;
            TextBox guess = this.GridView1.Rows[e.NewEditIndex].FindControl("txt_GuessNumber") as TextBox;
            if (range != null && guess != null)
            {
                range.ControlToValidate = "txt_GuessNumber";
                guess.ValidationGroup = "guess";
            }
        }
    }
    protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        ///取消GridView编辑状态
        if (this.GridView1.DataSourceID == "")
            EditGridViewSource(-1);
    }

    protected void imgBtn_Search_Click1(object sender, ImageClickEventArgs e)
    {
        string number = this.txt_Numbers.Text;
        if (!string.IsNullOrEmpty(number))
        {
            ///GridView 只能有DataSourceID 或者 DataSource 两个属性中的一个,不能同时存在.
            if (this.GridView1.DataSourceID != "")
                this.GridView1.DataSourceID = "";
            if (roomOp.GetRoomByNumber(number) != null)
            {
                this.GridView1.DataSource = roomOp.GetRoomByNumber(number).DefaultView;
                this.GridView1.EditIndex = -1;
                this.GridView1.DataBind();//重新绑定GridView
            }
            else
            {
                this.GridView1.DataSourceID = "ObjectDataSource1";
                this.GridView1.EditIndex = -1;
                this.GridView1.DataBind();
            }
        }
        else
        {
            this.GridView1.DataSourceID = "ObjectDataSource1";
            this.GridView1.EditIndex = -1;
            this.GridView1.DataBind();
        }
    }

    protected void GridView1_DataBound(object sender, EventArgs e)
    {
        ///判断如果是空闲的房间则显示入住和取消按钮,否则不显示
        for (int i = 0; i < this.GridView1.Rows.Count; i++)
        {
            if (i != -1 && i <= this.GridView1.Rows.Count)
            {
                Label state = this.GridView1.Rows[i].FindControl("lbl_State") as Label;
                Button housing = this.GridView1.Rows[i].FindControl("btn_readyHousing") as Button;
                Button cancel = this.GridView1.Rows[i].FindControl("btn_Cancel") as Button;
                if (state != null && housing != null && cancel != null)
                {
                    if (!state.Text.Trim().Equals("空闲"))
                    {
                        housing.Visible = false;
                        cancel.Visible = false;
                    }
                }
            }
        }
    }
}

⌨️ 快捷键说明

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