条件:在Button按钮Buttun9中根据某个条件,弹出提示框,如果点了否,就不做任何事,如果点了是,就进行某些操作。 界面上放一个Literal控件
功能:在C#的按钮代码中执行一段代码后,弹出对话框,按用户选择是否执行下一段代码
缺点:1、对于事务处理需要特别处理,因为此方法会对按钮执行两次。 同时以前执行的代码会被再次执行。但对多数情况来说,可以用一些方法回避再次执行的不良后果。
2、界面上不得不放一个Literal控件
3、函数调用只能在可以取得Page的地方。
按钮事件:
protected void Button9_Click(object sender, EventArgs e)
{
int nre = funMsgBoxCallBack(Page, Button9.ID, Literal1, "你确定要修改吗?不改不要乱点");
if (nre == 0 || nre==-1) return;
if (nre == 1)
{
txtMsgBox.Text = TextBox4.Text;
}
}
函数:
/// <summary>
/// 过程间转递参数,提示 MsgBox 对话框
/// 编写:yuiee
/// </summary>
/// <param name="pageTmp">pageTmp 调用此函数的页面Page</param>
/// <param name="sButtonName">页面上执行事件的Button的ID名称(注意一定不能写成ClientID),必须是Button</param>
/// <param name="Literal1">页面上放的一个Literal控件,要保证使用的唯一性</param>
/// <param name="sMsg">提示的文字内容。</param>
/// <returns>0为点了取消,1为点了确定,-1为什么也没点,CallBack回调</returns>
public static int funMsgBoxCallBack(Page pageTmp,string sButtonName, Literal Literal1,string sMsg)
{
string mm = pageTmp.Request.Form["txtMsgBoxBack"];
string sm = "";
if (mm == null) sm = ""; else sm = mm;
if(sm=="")
{
Literal1.Text = "<input id='txtMsgBoxBack' name='txtMsgBoxBack' type='hidden' value='' />";
clsBase.funRegStartUpScript(pageTmp, pageTmp.GetType(), "funMsgBox('" + sButtonName + "','txtMsgBoxBack','" + sMsg + "');");
return -1;
}
Literal1.Text = "";
if (mm == null) return 0;
if (mm == "0")
{
return 1;
}
else
{
return 0;
}
}
/// <summary>
/// 函数名:funRegStartUpScript
/// 功描述能:在客户端注册启动脚本
/// 函数返回值:
/// 初编人员:yuiee
/// 初编时间:2007-9-8 19:27:04
/// </summary>
/// <param name="sScript">无Script的脚本内容</param>
public static void funRegStartUpScript(Page pageTmp,Type cstype,string sScript)
{ ClientScriptManager cs = pageTmp.ClientScript;
String csname2 = "PopupScript";
if (!cs.IsStartupScriptRegistered(cstype, csname2))
{
string cstext2 = sScript; //;
cs.RegisterStartupScript(cstype, csname2, cstext2, true);
}
}
javascript 代码
function funMsgBox(sButtonName,sTxtClientName,sMsg)
{
if(confirm(sMsg))
{
var mm=document.getElementById(sTxtClientName);
mm.value="0";
funButtonClick(sButtonName);
return true;
}
else
{
return false;
}
}
function funButtonClick(buttonID)
{
//按ButtonID为名字查找button,找到后启动click事件
var srry;
var sre;
var bre;
bre=1;
var sTmp;
var sTmp1;
var lPos;
for(i=0;i<document.all.length;i++)
{
sTmp=document.all(i).name;
if(sTmp!=null)
{
sTmp=sTmp.toUpperCase();
lPos=sTmp.indexOf(buttonID.toUpperCase());
if(lPos!=-1)
{
document.all(i).click();
}
}
}
}