这是在做电影院选座的程序,不知道为什么,给自动生成的ImageButton用委托加了imgbtn_SelectedEvent_Click事件,但点ImageButton的时候,imgbtn_SelectedEvent_Click这个事件没有被触发求指点,感激万分。cs代码:
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;namespace CinemaWebProject_WebUI
{
public partial class BuyTickets : System.Web.UI.Page
{
string seatNCol = null;
string seatStatus = null;
string[] seatInfoByID = new string[5]; protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)
{
Page.ClientScript.RegisterStartupScript(GetType(), null, "<script type='text/javascript'>alert('请先登录');window.location='/foreground/Login.aspx';</script>");
}
if (!Page.IsPostBack)
{
LoadDDLControl();
}
}
private void LoadDDLControl()
{
LoadDDLMovie();
LoadDDLHallL(this.ddl_Movie.SelectedValue);
LoadDDLDateL(this.ddl_Movie.SelectedValue,this.ddl_Hall.SelectedValue);
LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue,this.ddl_Date.SelectedValue);
LoadDDLTicketType();
LoadDDLActivityL(this.ddl_TicketType.SelectedValue);
ddl_Activity.Enabled = false; LoadSeatNCol();
BeforeLoadAllSeat();
}
private void LoadDDLMovie()
{ //绑定ddl}
private void LoadDDLHallL(string selectedvalue)
{ //绑定ddl}
private void LoadDDLDateL(string selectedvalue, string selectedvalue2)
{ //绑定ddl}
private void LoadDDLScheduleL(string selectedvalue, string selectedvalue2, string selectedvalue3)
{ //绑定ddl}
private void LoadDDLTicketType()
{ //绑定ddl}
private void LoadDDLActivityL(string selectedvalue)
{ //绑定ddl}
private void LoadSeatNCol()
{
//根据所选影厅,获取座位每行数量
if (ddl_Hall.SelectedValue != "0")
{
seatNCol = Business.SeatBusiness.SearchSeatNColByHallID(Convert.ToInt32(ddl_Hall.SelectedValue));
}
}
private void GetSeatStatus()
{
Entity.MHS mhs = new Entity.MHS();
mhs.MovieID = Convert.ToInt32(ddl_Movie.SelectedValue);
mhs.HallID = Convert.ToInt32(ddl_Hall.SelectedValue);
mhs.ScheduleID = Convert.ToInt32(ddl_Time.SelectedValue);
mhs.DateID = Convert.ToInt32(ddl_Date.SelectedValue); seatStatus = Business.SeatBusiness.SearchSeatNColFromMHS(mhs);
if (seatStatus == "-1")
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
else
{
lbl_Nothing.Visible = false;
}
} protected void ddl_Movie_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLHallL(this.ddl_Movie.SelectedValue);
this.LoadDDLDateL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue);
this.LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue, this.ddl_Date.SelectedValue); LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_Hall_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLDateL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue);
this.LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue, this.ddl_Date.SelectedValue); LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_Date_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue, this.ddl_Date.SelectedValue); LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_Time_SelectedIndexChanged(object sender, EventArgs e)
{
LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_TicketType_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLActivityL(this.ddl_TicketType.SelectedValue);
if (ddl_TicketType.SelectedValue == "1")
{
ddl_Activity.Enabled = false;
}
else
{
ddl_Activity.Enabled = true;
} LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void BeforeLoadAllSeat()
{
if (ddl_Movie.SelectedValue == "0" || ddl_Hall.SelectedValue == "0" ||
ddl_Date.SelectedValue == "0" || ddl_Time.SelectedValue == "0" ||
ddl_TicketType.SelectedValue == "0" || ddl_Activity.SelectedValue == "0")
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
else
{
Entity.MHS mhs = new Entity.MHS();
mhs.MovieID = Convert.ToInt32(ddl_Movie.SelectedValue);
mhs.HallID = Convert.ToInt32(ddl_Hall.SelectedValue);
mhs.ScheduleID = Convert.ToInt32(ddl_Time.SelectedValue);
mhs.DateID = Convert.ToInt32(ddl_Date.SelectedValue); int r = Business.SeatBusiness.IsMHSExist(mhs);
if (r > 0)
{
lbl_Nothing.Visible = false;
LoadAllSeat();
}
else
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
}
}
protected void LoadAllSeat()
{
GetSeatStatus(); if (seatStatus != "-1")
{
lbl_Nothing.Visible = false;
string[] temp = seatNCol.Split(',');
int[] seatCol = new int[temp.Length];
for (int i = 0; i < temp.Length; i++)
{
seatCol[i] = Convert.ToInt32(temp[i]);
} Table table = new Table();
int rowCnt;
int rowCtr;
int cellCtr;
rowCnt = seatCol.Length;
string initSeatStatus = "-1";
//是否能被改变ID的标识——为:已售,用户无法改变座位状态 做铺垫
string enableChanged = "-1";
//能被改变为1,无法改变为0
int flag = 0;
for (rowCtr = 0; rowCtr < rowCnt; rowCtr++)
{
//创建新行并把它添加到表格中
TableRow tRow = new TableRow();
this.tbl_showSeat.Rows.Add(tRow);
for (cellCtr = 0; cellCtr < seatCol[rowCtr]; cellCtr++)
{
TableCell tCell = new TableCell();
tRow.Cells.Add(tCell);
string prodID = rowCtr + "_" + cellCtr;
tCell.Text = prodID;
ImageButton imgbtn = new ImageButton();
if (seatStatus.Substring(flag, 1) == "0")
{
initSeatStatus = "0";
enableChanged = "1";
imgbtn.ImageUrl = "~/background/seat/img/seat白.png";//Server.MapPath("~/img/") + "shafa白.png";
}
else if (seatStatus.Substring(flag, 1) == "1")
{
initSeatStatus = "1";
enableChanged = "0"; imgbtn.ImageUrl = "~/background/seat/img/seat蓝.png";
}
else if (seatStatus.Substring(flag, 1) == "2")
{
initSeatStatus = "2";
enableChanged = "0"; imgbtn.ImageUrl = "~/background/seat/img/seat黑.png";
}
imgbtn.ID = "imgbtn_" + rowCtr + "_" + cellCtr + "_" + initSeatStatus+ "_" +enableChanged;
imgbtn.Click += new ImageClickEventHandler(this.imgbtn_SelectedEvent_Click); tCell.Controls.Add(imgbtn); flag++;
}
}
}
else
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
} protected void imgbtn_SelectedEvent_Click(object sender, ImageClickEventArgs e)//ImageClickEventArgs System.EventArgs
{
seatInfoByID = ((ImageButton)sender).ID.Split('_');
string senderName = seatInfoByID[0];
string rowCtr = seatInfoByID[1];
string cellCtr = seatInfoByID[2];
string initSeatStatus = seatInfoByID[3];
string enableChanged = seatInfoByID[4]; if (enableChanged == "1")
{
if (initSeatStatus == "0")
initSeatStatus = "1";
else if (initSeatStatus == "1")
initSeatStatus = "0";
} ((ImageButton)sender).ID = "imgbtn_" + rowCtr + "_" + cellCtr + "_" + initSeatStatus + "_" + enableChanged; Response.Write("<script>alert('执行了!')</script>");
Response.Write("你单击了ImageButton1,坐标为:(" + e.X.ToString() + "," + e.Y.ToString() + ")");
} protected void btn_Submit_Click(object sender, EventArgs e)
{
//省略
}
}
}
委托ImageButtonSelectedEventASP.NET电影院选座
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;namespace CinemaWebProject_WebUI
{
public partial class BuyTickets : System.Web.UI.Page
{
string seatNCol = null;
string seatStatus = null;
string[] seatInfoByID = new string[5]; protected void Page_Load(object sender, EventArgs e)
{
if (Session["user"] == null)
{
Page.ClientScript.RegisterStartupScript(GetType(), null, "<script type='text/javascript'>alert('请先登录');window.location='/foreground/Login.aspx';</script>");
}
if (!Page.IsPostBack)
{
LoadDDLControl();
}
}
private void LoadDDLControl()
{
LoadDDLMovie();
LoadDDLHallL(this.ddl_Movie.SelectedValue);
LoadDDLDateL(this.ddl_Movie.SelectedValue,this.ddl_Hall.SelectedValue);
LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue,this.ddl_Date.SelectedValue);
LoadDDLTicketType();
LoadDDLActivityL(this.ddl_TicketType.SelectedValue);
ddl_Activity.Enabled = false; LoadSeatNCol();
BeforeLoadAllSeat();
}
private void LoadDDLMovie()
{ //绑定ddl}
private void LoadDDLHallL(string selectedvalue)
{ //绑定ddl}
private void LoadDDLDateL(string selectedvalue, string selectedvalue2)
{ //绑定ddl}
private void LoadDDLScheduleL(string selectedvalue, string selectedvalue2, string selectedvalue3)
{ //绑定ddl}
private void LoadDDLTicketType()
{ //绑定ddl}
private void LoadDDLActivityL(string selectedvalue)
{ //绑定ddl}
private void LoadSeatNCol()
{
//根据所选影厅,获取座位每行数量
if (ddl_Hall.SelectedValue != "0")
{
seatNCol = Business.SeatBusiness.SearchSeatNColByHallID(Convert.ToInt32(ddl_Hall.SelectedValue));
}
}
private void GetSeatStatus()
{
Entity.MHS mhs = new Entity.MHS();
mhs.MovieID = Convert.ToInt32(ddl_Movie.SelectedValue);
mhs.HallID = Convert.ToInt32(ddl_Hall.SelectedValue);
mhs.ScheduleID = Convert.ToInt32(ddl_Time.SelectedValue);
mhs.DateID = Convert.ToInt32(ddl_Date.SelectedValue); seatStatus = Business.SeatBusiness.SearchSeatNColFromMHS(mhs);
if (seatStatus == "-1")
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
else
{
lbl_Nothing.Visible = false;
}
} protected void ddl_Movie_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLHallL(this.ddl_Movie.SelectedValue);
this.LoadDDLDateL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue);
this.LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue, this.ddl_Date.SelectedValue); LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_Hall_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLDateL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue);
this.LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue, this.ddl_Date.SelectedValue); LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_Date_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLScheduleL(this.ddl_Movie.SelectedValue, this.ddl_Hall.SelectedValue, this.ddl_Date.SelectedValue); LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_Time_SelectedIndexChanged(object sender, EventArgs e)
{
LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void ddl_TicketType_SelectedIndexChanged(object sender, EventArgs e)
{
this.LoadDDLActivityL(this.ddl_TicketType.SelectedValue);
if (ddl_TicketType.SelectedValue == "1")
{
ddl_Activity.Enabled = false;
}
else
{
ddl_Activity.Enabled = true;
} LoadSeatNCol();
BeforeLoadAllSeat();
}
protected void BeforeLoadAllSeat()
{
if (ddl_Movie.SelectedValue == "0" || ddl_Hall.SelectedValue == "0" ||
ddl_Date.SelectedValue == "0" || ddl_Time.SelectedValue == "0" ||
ddl_TicketType.SelectedValue == "0" || ddl_Activity.SelectedValue == "0")
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
else
{
Entity.MHS mhs = new Entity.MHS();
mhs.MovieID = Convert.ToInt32(ddl_Movie.SelectedValue);
mhs.HallID = Convert.ToInt32(ddl_Hall.SelectedValue);
mhs.ScheduleID = Convert.ToInt32(ddl_Time.SelectedValue);
mhs.DateID = Convert.ToInt32(ddl_Date.SelectedValue); int r = Business.SeatBusiness.IsMHSExist(mhs);
if (r > 0)
{
lbl_Nothing.Visible = false;
LoadAllSeat();
}
else
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
}
}
protected void LoadAllSeat()
{
GetSeatStatus(); if (seatStatus != "-1")
{
lbl_Nothing.Visible = false;
string[] temp = seatNCol.Split(',');
int[] seatCol = new int[temp.Length];
for (int i = 0; i < temp.Length; i++)
{
seatCol[i] = Convert.ToInt32(temp[i]);
} Table table = new Table();
int rowCnt;
int rowCtr;
int cellCtr;
rowCnt = seatCol.Length;
string initSeatStatus = "-1";
//是否能被改变ID的标识——为:已售,用户无法改变座位状态 做铺垫
string enableChanged = "-1";
//能被改变为1,无法改变为0
int flag = 0;
for (rowCtr = 0; rowCtr < rowCnt; rowCtr++)
{
//创建新行并把它添加到表格中
TableRow tRow = new TableRow();
this.tbl_showSeat.Rows.Add(tRow);
for (cellCtr = 0; cellCtr < seatCol[rowCtr]; cellCtr++)
{
TableCell tCell = new TableCell();
tRow.Cells.Add(tCell);
string prodID = rowCtr + "_" + cellCtr;
tCell.Text = prodID;
ImageButton imgbtn = new ImageButton();
if (seatStatus.Substring(flag, 1) == "0")
{
initSeatStatus = "0";
enableChanged = "1";
imgbtn.ImageUrl = "~/background/seat/img/seat白.png";//Server.MapPath("~/img/") + "shafa白.png";
}
else if (seatStatus.Substring(flag, 1) == "1")
{
initSeatStatus = "1";
enableChanged = "0"; imgbtn.ImageUrl = "~/background/seat/img/seat蓝.png";
}
else if (seatStatus.Substring(flag, 1) == "2")
{
initSeatStatus = "2";
enableChanged = "0"; imgbtn.ImageUrl = "~/background/seat/img/seat黑.png";
}
imgbtn.ID = "imgbtn_" + rowCtr + "_" + cellCtr + "_" + initSeatStatus+ "_" +enableChanged;
imgbtn.Click += new ImageClickEventHandler(this.imgbtn_SelectedEvent_Click); tCell.Controls.Add(imgbtn); flag++;
}
}
}
else
{
lbl_Nothing.Visible = true;
lbl_Nothing.Text = "没有该场次";
}
} protected void imgbtn_SelectedEvent_Click(object sender, ImageClickEventArgs e)//ImageClickEventArgs System.EventArgs
{
seatInfoByID = ((ImageButton)sender).ID.Split('_');
string senderName = seatInfoByID[0];
string rowCtr = seatInfoByID[1];
string cellCtr = seatInfoByID[2];
string initSeatStatus = seatInfoByID[3];
string enableChanged = seatInfoByID[4]; if (enableChanged == "1")
{
if (initSeatStatus == "0")
initSeatStatus = "1";
else if (initSeatStatus == "1")
initSeatStatus = "0";
} ((ImageButton)sender).ID = "imgbtn_" + rowCtr + "_" + cellCtr + "_" + initSeatStatus + "_" + enableChanged; Response.Write("<script>alert('执行了!')</script>");
Response.Write("你单击了ImageButton1,坐标为:(" + e.X.ToString() + "," + e.Y.ToString() + ")");
} protected void btn_Submit_Click(object sender, EventArgs e)
{
//省略
}
}
}
委托ImageButtonSelectedEventASP.NET电影院选座
解决方案 »
- iis6.0上传视频最大可以多少M
- asp.net如何实现类似newsletter的收发邮件功能?
- $.query.get('')需要什么插件?
- |M| AjaxPro为什么没办法返回DataSet 我照网上的做为什么怎么也不行
- 肯请高手指点(关于动态绑定DataGrid分页时的问题)
- DataTable中Row的Item值怎么设置,调用哪个方法?
- 数据导入到Excel中
- 在WEB中,DataSet可否能象在Form中一样同时编辑、添加多条数据?
- 在同一个页面中多次使用同一个用户控件,使用jsp脚本控制出错
- 简单问题,高分送出
- 想入手一款4000左右的笔记本做.net开发跑vs2010不卡的,求推荐
- 已经发布过的网站如何再增加一栏内容
那是!ispostback,不回发的时候,因为如果改变前面的选项(如电影、影厅),后面对应的时间也需要重新绑定,每个影厅的座位也不一样,需要重新获取数据的o(╯□╰)o只能不放在回发里好使么?需要重新获取数据绑定怎么办?