📄 housing.aspx.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 + -