下边是.cs文件::private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面 //取参数
if(Request.QueryString["ProjectID"] != null)
{
ProjectID = int.Parse(Request.QueryString["ProjectID"].ToString());
ViewState["ProjectID"] = ProjectID;
}
else
{
if(ViewState["ProjectID"] != null)
{
ProjectID = int.Parse(ViewState["ProjectID"].ToString());
}
else
{
throw new Exception("invalid params");
}
}
if(Request.QueryString["OrgID"] != null)
{
OrgID = int.Parse(Request.QueryString["OrgID"].ToString());
ViewState["OrgID"] = OrgID;
}
else
{
if(ViewState["OrgID"] != null)
{
OrgID = int.Parse(ViewState["OrgID"].ToString());
}
else
{
throw new Exception("invalid params");
}
}
if(!Page.IsPostBack)
{
this.InitGrid();
this.ibtn_bm.Attributes.Add("onClick","javascript:return selectMan();");
this.ibtn_qxbm.Attributes.Add("onClick","javascript:return confirmDel();");
}
}
private void ibtn_bm_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//检查
//取报名范围中当前部门的指定人数
ImplementAppointDeptDB mannumObj = new ImplementAppointDeptDB(ProjectID,OrgID);
int intAppointManNum = mannumObj.ManNum; //取当前部门已报名人数
int AlreadySignUpManNumDept = SignUpDB.GetAlreadySignUpManNumDept(ProjectID,OrgID);
if(AlreadySignUpManNumDept == -1)
{
Response.Write("<script language='javascript'>alert('统计已报名人数时出错,请稍后再试!');</script>");
return ;
}
else if(AlreadySignUpManNumDept >= intAppointManNum)
{
Response.Write("<script language='javascript'>alert('当前培训对于你所属部门的名额已满,不可以再报名!');</script>");
return ;
} ImplementManDB ProjectManObj = new ImplementManDB();
ProjectManObj.ProjectID = ProjectID;
string[] ManIDList;
string returnInfo = "";
int i_repeat=0,i_Success=0,i_Failure=0; ManIDList = this.txt_ManIDList.Text.Trim().Split(','); //检查本次报名人数与已报名人数之和是否已超出当前部门指定报名人数
if((AlreadySignUpManNumDept + ManIDList.Length) > intAppointManNum)
{
int i_residual = intAppointManNum - AlreadySignUpManNumDept;
Response.Write("<script language='javascript'>alert('对不起,你所选人数过多,当前培训对于你所属部门的名额还剩下"+i_residual.ToString()+"个!');</script>");
return ;
} for(int i=0;i<ManIDList.Length;i++)
{
ProjectManObj.ManID = int.Parse(ManIDList[i]); //检查重复人员
if(ProjectManObj.IsExistByProjectIDAndManID())
{i_repeat ++;}
else
{
if(ProjectManObj.Add() == "Success")
{i_Success ++;}
else
{i_Failure ++;}
}
} if(i_Success > 0)returnInfo+="\\r\\n"+i_Success.ToString()+"个人员报名成功!\\r\\n";
if(i_Failure > 0)returnInfo+="\\r\\n"+i_Failure.ToString()+"个人员报名失败!\\r\\n";
if(i_repeat > 0)returnInfo+="\\r\\n有"+i_repeat.ToString()+"个人员重复,不可重复报名!\\r\\n"; Response.Write("<script language='javascript'>alert('"+returnInfo+"');</script>");
Response.Write("<script language='javascript'>window.location.href='Tra_SignUp_Dept.aspx?ProjectID="+ProjectID.ToString()+"&OrgID="+OrgID.ToString()+"';</script>");
}
{
// 在此处放置用户代码以初始化页面 //取参数
if(Request.QueryString["ProjectID"] != null)
{
ProjectID = int.Parse(Request.QueryString["ProjectID"].ToString());
ViewState["ProjectID"] = ProjectID;
}
else
{
if(ViewState["ProjectID"] != null)
{
ProjectID = int.Parse(ViewState["ProjectID"].ToString());
}
else
{
throw new Exception("invalid params");
}
}
if(Request.QueryString["OrgID"] != null)
{
OrgID = int.Parse(Request.QueryString["OrgID"].ToString());
ViewState["OrgID"] = OrgID;
}
else
{
if(ViewState["OrgID"] != null)
{
OrgID = int.Parse(ViewState["OrgID"].ToString());
}
else
{
throw new Exception("invalid params");
}
}
if(!Page.IsPostBack)
{
this.InitGrid();
this.ibtn_bm.Attributes.Add("onClick","javascript:return selectMan();");
this.ibtn_qxbm.Attributes.Add("onClick","javascript:return confirmDel();");
}
}
private void ibtn_bm_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//检查
//取报名范围中当前部门的指定人数
ImplementAppointDeptDB mannumObj = new ImplementAppointDeptDB(ProjectID,OrgID);
int intAppointManNum = mannumObj.ManNum; //取当前部门已报名人数
int AlreadySignUpManNumDept = SignUpDB.GetAlreadySignUpManNumDept(ProjectID,OrgID);
if(AlreadySignUpManNumDept == -1)
{
Response.Write("<script language='javascript'>alert('统计已报名人数时出错,请稍后再试!');</script>");
return ;
}
else if(AlreadySignUpManNumDept >= intAppointManNum)
{
Response.Write("<script language='javascript'>alert('当前培训对于你所属部门的名额已满,不可以再报名!');</script>");
return ;
} ImplementManDB ProjectManObj = new ImplementManDB();
ProjectManObj.ProjectID = ProjectID;
string[] ManIDList;
string returnInfo = "";
int i_repeat=0,i_Success=0,i_Failure=0; ManIDList = this.txt_ManIDList.Text.Trim().Split(','); //检查本次报名人数与已报名人数之和是否已超出当前部门指定报名人数
if((AlreadySignUpManNumDept + ManIDList.Length) > intAppointManNum)
{
int i_residual = intAppointManNum - AlreadySignUpManNumDept;
Response.Write("<script language='javascript'>alert('对不起,你所选人数过多,当前培训对于你所属部门的名额还剩下"+i_residual.ToString()+"个!');</script>");
return ;
} for(int i=0;i<ManIDList.Length;i++)
{
ProjectManObj.ManID = int.Parse(ManIDList[i]); //检查重复人员
if(ProjectManObj.IsExistByProjectIDAndManID())
{i_repeat ++;}
else
{
if(ProjectManObj.Add() == "Success")
{i_Success ++;}
else
{i_Failure ++;}
}
} if(i_Success > 0)returnInfo+="\\r\\n"+i_Success.ToString()+"个人员报名成功!\\r\\n";
if(i_Failure > 0)returnInfo+="\\r\\n"+i_Failure.ToString()+"个人员报名失败!\\r\\n";
if(i_repeat > 0)returnInfo+="\\r\\n有"+i_repeat.ToString()+"个人员重复,不可重复报名!\\r\\n"; Response.Write("<script language='javascript'>alert('"+returnInfo+"');</script>");
Response.Write("<script language='javascript'>window.location.href='Tra_SignUp_Dept.aspx?ProjectID="+ProjectID.ToString()+"&OrgID="+OrgID.ToString()+"';</script>");
}
http://dotnet.aspx.cc/ShowDetail.aspx?id=49ML4AO8-5PB3-4KNY-NJZD-LJOIOXV4M1X4
Response.Write("<script language='javascript'>alert('当前培训对于你所属部门的名额已满,不可以再报名!');</script>");
return ;或者执行到
Response.Write("<script language='javascript'>alert('对不起,你所选人数过多,当前培训对于你所属部门的名额还剩下"+i_residual.ToString()+"个!');</script>");
return ;
那么最终结果是:我的主窗口的数据全都变成了showModalDialog窗口(OrgStudent_Frame.aspx)里边的所有数据
问题说完了,谢谢大家,如果哪里不明白,还可以再问我,我在线静候佳音...
<HTML>
<HEAD>
<script language="javascript">
function selectMan()
{
tmpStr=showModalDialog('../PopWin/OrgStudent_Frame.aspx?OrgID=<%=OrgID%>',window,'dialogLeft:220px;dialogTop:160px;dialogWidth:680px;dialogHeight:550px;center: yes; help: no;status:no;title:no;scroll:yes;'); if(tmpStr != null)
{
var myary = new Array();
var myaryID = new Array();
var ManIDListValue="";
myary = tmpStr.split('%%');
for(var i=0;i<myary.length;i++)
{
myaryID = myary[i].split('||');
ManIDListValue += myaryID[0] + ",";
}
ManIDListValue = ManIDListValue.substring(0,ManIDListValue.length - 1);
document.forms[0].txt_ManIDList.value = ManIDListValue;
return true;
}
else
{
return false;
}
}
</script>
</HEAD>
<body class="body-d" topMargin="0" MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<TABLE class="table00" id="Table2" width="100%">
<TR>
<TD id="ibtn_add" style="HEIGHT: 29px" align="center" width="100%"><asp:imagebutton id="ibtn_bm" runat="server" ImageUrl="../../Common/img/ico_bm.gif"></asp:imagebutton>
</TR>
</TABLE>
</form>
</body>
</HTML>
{
if(!Page.IsPostBack)
{
this.ibtn_bm.Attributes.Add("onClick","javascript:return selectMan();");
}
}private void ibtn_bm_Click(object sender, System.Web.UI.ImageClickEventArgs e)
{
//检查
//取报名范围中当前部门的指定人数
ImplementAppointDeptDB mannumObj = new ImplementAppointDeptDB(ProjectID,OrgID);
int intAppointManNum = mannumObj.ManNum; //取当前部门已报名人数
int AlreadySignUpManNumDept = SignUpDB.GetAlreadySignUpManNumDept(ProjectID,OrgID);
if(AlreadySignUpManNumDept == -1)
{
Response.Write("<script language='javascript'>alert('统计已报名人数时出错,请稍后再试!');</script>");
return ;
}
else if(AlreadySignUpManNumDept >= intAppointManNum)
{
Response.Write("<script language='javascript'>alert('当前培训对于你所属部门的名额已满,不可以再报名!');</script>");
return ;
} ImplementManDB ProjectManObj = new ImplementManDB();
ProjectManObj.ProjectID = ProjectID;
string[] ManIDList;
string returnInfo = "";
int i_repeat=0,i_Success=0,i_Failure=0; ManIDList = this.txt_ManIDList.Text.Trim().Split(','); //检查本次报名人数与已报名人数之和是否已超出当前部门指定报名人数
if((AlreadySignUpManNumDept + ManIDList.Length) > intAppointManNum)
{
int i_residual = intAppointManNum - AlreadySignUpManNumDept;
Response.Write("<script language='javascript'>alert('对不起,你所选人数过多,当前培训对于你所属部门的名额还剩下"+i_residual.ToString()+"个!');</script>");
return ;
} for(int i=0;i<ManIDList.Length;i++)
{
ProjectManObj.ManID = int.Parse(ManIDList[i]); //检查重复人员
if(ProjectManObj.IsExistByProjectIDAndManID())
{i_repeat ++;}
else
{
if(ProjectManObj.Add() == "Success")
{i_Success ++;}
else
{i_Failure ++;}
}
} if(i_Success > 0)returnInfo+="\\r\\n"+i_Success.ToString()+"个人员报名成功!\\r\\n";
if(i_Failure > 0)returnInfo+="\\r\\n"+i_Failure.ToString()+"个人员报名失败!\\r\\n";
if(i_repeat > 0)returnInfo+="\\r\\n有"+i_repeat.ToString()+"个人员重复,不可重复报名!\\r\\n"; Response.Write("<script language='javascript'>alert('"+returnInfo+"');</script>");
Response.Write("<script language='javascript'>window.location.href='Tra_SignUp_Dept.aspx?ProjectID="+ProjectID.ToString()+"&OrgID="+OrgID.ToString()+"';</script>");
}
点击后,执行完你给它赋的函数后,接着会将<form id="Form1" method="post" runat="server">提交
所以页面会刷新。将function selectMan()里的这一句return true;改成return false;试试
[引用]----------------------------------
我的主窗口的数据全都变成了showModalDialog窗口(OrgStudent_Frame.aspx)里边的所有数据
[/引用]----------------------------------
是什么意思,程序有没有在网上,有的话给个地址去看看。或是把
[code]----------------------------------
Response.Write("<script language='javascript'>alert('统计已报名人数时出错,请稍后再试!');</script>");
return ;
[/code]----------------------------------
和
[code]----------------------------------
Response.Write("<script language='javascript'>alert('当前培训对于你所属部门的名额已满,不可以再报名!');</script>");
return ;
[/code]----------------------------------
里的return;
改成
return false;试试
为什么不是使用javascript传递数据.我认为使用javascript
在showModalDialog页面里面,向上级打开页面传递数据,或是访问上级页面得函数.
以达到传递数据的功能.