Buttonk控件弹出提示框的问题!

encienqi 2009-03-31 12:18:31
一个Button控件,是确认按钮,定义如下<asp:Button ID="btnqueren" runat="server" Text="确认" onclick="btnqueren_Click" Font-Size="Small" />
事件如下:先判断用户在点击确认按钮时,版本和类型两个DropDownList控是否选择了,如果选择了,我想弹出一个对话框,问“确认是这个文件?”,用户可以如果选确认就继续执行,如果选取消,就返回,应该怎样在btnqueren_Click中加入弹出对话框功能?
protected void btnqueren_Click(object sender, EventArgs e)
{
//类型不能为空
if (dropleixing.SelectedValue == "-1")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('文件类型不能为空!') </script>");
return;
}
//版本不能为空
if (dropbanben.SelectedValue == "-1")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('文件版本不能为空!') </script>");
return;
}
}
...全文
201 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
指间、魔法师 2009-04-01
  • 打赏
  • 举报
回复
Load事件中
btnqueren.Attributes.Add("onclick", "return confirm('确认是这个文件?')");
encienqi 2009-03-31
  • 打赏
  • 举报
回复
#region 上传部分
protected void btnshangchuan_Click(object sender, EventArgs e)
{
string path;
DataSet ds = new DataSet();
DataSet dsbbsx = new DataSet();
//类型不能为空
if (dropleixing.SelectedValue == "-1")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('文件类型不能为空!') </script>");
return;
}
//版本不能为空
if (dropbanben.SelectedValue == "-1")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('文件版本不能为空!') </script>");
return;
}

//版本差异不能为空
if (txtchayi.Text=="")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('版本差异不能为空!') </script>");
return;
}

//查询版本顺序错误
if (Convert.ToInt32(dropbanben.SelectedValue) != 1)
{
int banben = Convert.ToInt32(dropbanben.SelectedValue) - 1;
string sqlcmdbanbenshunxu = "select * from LoadFile where ProjectNo like '" + ProjectNo + "'and FileTypeID like '" + dropleixing.SelectedValue + "' and VersionID like '" + banben + "'";
dsbbsx = OperateDB.GetResult(sqlcmdbanbenshunxu);
if (dsbbsx.Tables[0].Rows.Count == 0)
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('"+dropleixing.SelectedItem.Text+"还没有第" + banben + "版,不能选择第" + dropbanben.SelectedValue + "版') </script>");
return;
}
}
//判断版本是否冲突
string sqlcmdbanben = "select * from LoadFile where ProjectNo like '" + ProjectNo + "'and FileTypeID like '" + dropleixing.SelectedValue + "' and VersionID like '" + dropbanben.SelectedValue + "'";
ds = OperateDB.GetResult(sqlcmdbanben);
if (ds.Tables[0].Rows.Count > 0)
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('" + dropleixing.SelectedItem.Text + "第" + dropbanben.SelectedValue + "版已存在,请更改!') </script>");
return;
}
//上传文件不能为空
string str = this.fileliulan.PostedFile.FileName;
if (str == string.Empty)
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('请选择要上传的文件!') </script>");
return;
}
FileInfo fileInfo = new FileInfo(str); //获取文件信息
long fileSize = (fileInfo.Length / 1024) / 1024; //获取文件大小
if (fileSize <= 10) //控制文件大小不能超过10M
{
//获取附件名称
//string strtime_nianyue = DateTime.Now.ToString("yyyyMMdd");
string strtime = DateTime.Now.ToString();
string fileName = str.Substring(str.LastIndexOf("\\") + 1);
string zhufileName = fileName.Substring(0, fileName.LastIndexOf("."));
string kuozhanfileName = str.Substring(str.LastIndexOf("."));
string zuizhongfileName = ProjectNo + "_" + zhufileName + "_" + dropleixing.SelectedItem.Text + "_" + dropbanben.SelectedItem.Text + kuozhanfileName;
path = "\\file\\" + ProjectNo+"\\"+ zuizhongfileName; //设置附件上传到的服务器路径
string sqlcmd = "insert into LoadFile(ProjectNo,FileTypeID,FileName,VersionID,Path,LoadTime,Difference,PersonalID) values('" + ProjectNo + "','" + dropleixing.SelectedValue + "','"+ zuizhongfileName+"','" + dropbanben.SelectedValue + "','" + path + "','" + strtime + "','" + txtchayi.Text + "','"+PersonalID+"')";


//*******************我只是想在这里加入一个弹出框!*************如果用户点确定就继续,如果点取消,就不再上传~~


//上传送文件的相关信息保存到服务器中
if (OperateDB.ExecCmd(sqlcmd))
{
this.fileliulan.PostedFile.SaveAs(Server.MapPath(path)); //将文件保存到服务器上
lbljieguo.Text = fileName + "上传成功!";
}
else
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('" + dropleixing.SelectedItem.Text + "的第" + dropbanben.SelectedValue + "版上传失败!') </script>");
}
SqlConnection conn = MyDB.GetConn();
LoadZDData(conn);
GridLoaBind();
GridzixinBind();
txtchayi.Text = "";
return;
}
else
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('文件大小不能超过10M !') </script>");
return; //不能继续执行
}

}
#endregion
encienqi 2009-03-31
  • 打赏
  • 举报
回复
能否写在btnqueren_Click中呢?我是想做一个上传,当用户点上传时,我们先做一系列判断,比如文件类型是否选,文件版本是否选,文件版本是否在数据库中已经存在,选择的文件大小是否小于10M等等,现在这些我都写好了,我只是想在判断完这些后,弹出对话框,问用户是否确认上传此文件,如果确定,就将文件存入服务器上,并且写相应的内容到数据库,如果选取消,就不上传了。如果把这些都写在JS脚本里,好像比较麻烦呀。有没有类似this.RegisterStartupScript("s1", " <script language='javascript'>alert('更新失败!') </script>");的语句,让他直接弹出对话框
xsm545 2009-03-31
  • 打赏
  • 举报
回复
用JS吧 很方便的
chenwei175528 2009-03-31
  • 打赏
  • 举报
回复
为什么不在js里验证?
写个onClientClick就可以了
copico 2009-03-31
  • 打赏
  • 举报
回复
你还是用JS脚本来做吧 比较简单来实现

先用JS读取两个dropdownlist里的值,如果为空就alert("");然后return false;
如果两个dropdownlist里的值都不为空 再调用confirm("");
if(confirm("你确认要选择这个文件吗"))
{
return true;
}
else
{
event.returnValue = false;
return false;
}
encienqi 2009-03-31
  • 打赏
  • 举报
回复
#region 上传部分
protected void btnshangchuan_Click(object sender, EventArgs e)
{
string path;
DataSet ds = new DataSet();
DataSet dsbbsx = new DataSet();
//类型不能为空
if (dropleixing.SelectedValue == "-1")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('文件类型不能为空!') </script>");
return;
}
//版本不能为空
if (dropbanben.SelectedValue == "-1")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('文件版本不能为空!') </script>");
return;
}

//版本差异不能为空
if (txtchayi.Text=="")
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('版本差异不能为空!') </script>");
return;
}

//查询版本顺序错误
if (Convert.ToInt32(dropbanben.SelectedValue) != 1)
{
int banben = Convert.ToInt32(dropbanben.SelectedValue) - 1;
string sqlcmdbanbenshunxu = "select * from LoadFile where ProjectNo like '" + ProjectNo + "'and FileTypeID like '" + dropleixing.SelectedValue + "' and VersionID like '" + banben + "'";
dsbbsx = OperateDB.GetResult(sqlcmdbanbenshunxu);
if (dsbbsx.Tables[0].Rows.Count == 0)
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('"+dropleixing.SelectedItem.Text+"还没有第" + banben + "版,不能选择第" + dropbanben.SelectedValue + "版') </script>");
return;
}
}
//判断版本是否冲突
string sqlcmdbanben = "select * from LoadFile where ProjectNo like '" + ProjectNo + "'and FileTypeID like '" + dropleixing.SelectedValue + "' and VersionID like '" + dropbanben.SelectedValue + "'";
ds = OperateDB.GetResult(sqlcmdbanben);
if (ds.Tables[0].Rows.Count > 0)
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('" + dropleixing.SelectedItem.Text + "第" + dropbanben.SelectedValue + "版已存在,请更改!') </script>");
return;
}
//上传文件不能为空
string str = this.fileliulan.PostedFile.FileName;
if (str == string.Empty)
{
this.RegisterStartupScript("s1", " <script language='javascript'>alert('请选择要上传的文件!') </script>");
return;
}
FileInfo fileInfo = new FileInfo(str); //获取文件信息
long fileSize = (fileInfo.Length / 1024) / 1024; //获取文件大小
if (fileSize <= 10) //控制文件大小不能超过10M
{
//获取附件名称
//string strtime_nianyue = DateTime.Now.ToString("yyyyMMdd");
string strtime = DateTime.Now.ToString();
string fileName = str.Substring(str.LastIndexOf("\\") + 1);
string zhufileName = fileName.Substring(0, fileName.LastIndexOf("."));
string kuozhanfileName = str.Substring(str.LastIndexOf("."));
string zuizhongfileName = ProjectNo + "_" + zhufileName + "_" + dropleixing.SelectedItem.Text + "_" + dropbanben.SelectedItem.Text + kuozhanfileName;
path = "\\file\\" + ProjectNo+"\\"+ zuizhongfileName; //设置附件上传到的服务器路径
string sqlcmd = "insert into LoadFile(ProjectNo,FileTypeID,FileName,VersionID,Path,LoadTime,Difference,PersonalID) values('" + ProjectNo + "','" + dropleixing.SelectedValue + "','"+ zuizhongfileName+"','" + dropbanben.SelectedValue + "','" + path + "','" + strtime + "','" + txtchayi.Text + "','"+PersonalID+"')";

我前期判断的很多,还有需要在数据库中查询后的判断,如果都写在JS中,比较麻烦呀,我只是希望判断后,弹出一个提示框,问是否确认保存,是就保存,取消就不保存,有没有类似this.RegisterStartupScript("s1", " <script language='javascript'>alert('更新失败!') </script>");的语句,让他直接弹出对话框
copico 2009-03-31
  • 打赏
  • 举报
回复
c#代码发错了,重发一下

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
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;
using System.Xml.Linq;

namespace web_test
{
public partial class WebForm2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
this.Button1.Attributes.Add("onclick", "checkData()");
}

protected void Button1_Click(object sender, EventArgs e)
{
//你要做的确定后的操作。

Response.Write("这是我确定后的操作!");
}
}
}

copico 2009-03-31
  • 打赏
  • 举报
回复
HTML代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="web_test.WebForm2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" language="javascript">
function checkData()
{
if(form1.DropDownList1.value == "")
{
alert("选择内容不能为空");
event.returnValue = false;
return false;
}

var str = form1.DropDownList1.value;
if(str != "")
{
if(confirm("你确实要做些操作选择吗?"))
{
return true;
}
else
{
event.returnValue = false;
return false;
}
}
}

</script>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:DropDownList ID="DropDownList1" runat="server" Width="80px">
<asp:ListItem></asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

</div>
</form>
</body>
</html>






c#代码

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm2.aspx.cs" Inherits="web_test.WebForm2" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript" language="javascript">
function checkData()
{
if(form1.DropDownList1.value == "")
{
alert("选择内容不能为空");
event.returnValue = false;
return false;
}

var str = form1.DropDownList1.value;
if(str != "")
{
if(confirm("你确实要做些操作选择吗?"))
{
return true;
}
else
{
event.returnValue = false;
return false;
}
}
}

</script>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:DropDownList ID="DropDownList1" runat="server" Width="80px">
<asp:ListItem></asp:ListItem>
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
</asp:DropDownList>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

</div>
</form>
</body>
</html>

copico 2009-03-31
  • 打赏
  • 举报
回复
我给你发个例子吧
encienqi 2009-03-31
  • 打赏
  • 举报
回复
求助!!

62,268

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧