一個糾結很久的問題,不知道是瀏覽器兼容性的問題,還是IE 9.0 不支持...
我做個報表導出的功能,實現導出時提示是否下載到客戶端...利用MessageBox.Show()實現了,在Xp+IE 6 的環境下成功運行...無異常,我放到自己的電腦 Win7 +IE 9.0 的環境就不彈出來了...直接跳過去了..不就解決,只看回覆率
我做個報表導出的功能,實現導出時提示是否下載到客戶端...利用MessageBox.Show()實現了,在Xp+IE 6 的環境下成功運行...無異常,我放到自己的電腦 Win7 +IE 9.0 的環境就不彈出來了...直接跳過去了..不就解決,只看回覆率
这个和C#里的MessageBox.Show("发送成功")是一样的功效
这是winf里面的吧 web里面哪里这个对象
string StrScript;
string _Msg="XXXX";
StrScript = ("<script language=javascript>");
StrScript += "var retValue=window.confirm('" + _Msg + "');
StrScript += ("</script>");
System.Web.HttpContext.Current.Response.Write(StrScript);
page.ClientScript.RegisterStartupScript(page.GetType(), " ", "<script language='javascript'>alert('XXXXX');</script>");
using System.Windows.Forms;//省略大部分代碼,直接出主要代碼
//判斷是否要導出,如果是執行下載頁面,如果否跳過執行後面代碼
if(MessageBox.Show(null,"Download file to the local?","Message:",MessageBoxButton.YesNo,MessageBoxIcon.Question,MessageBoxOptions.ServiceNotification).Equals(DialogResult.YES))
{
Response.Rediract("DownFileLode.aspx?filename="+fileroot);//此段代碼是下載處理代碼 忽略
}//後面代碼無異常
个人想法,可能是IE6是调用系统控件,比如遮不住的select, 所有MessageBox.Show 可以正常运行。
但IE8,9 改进了,不是调用的系统组件,所有 可能有问题。
但一般来说 都用js 的 confirm 。不用MessageBox.Show。都web, 还要引用
using System.Windows.Forms; 感觉是不是搞复杂了。
MessageBox是继承自form类
MessageBox.Show是winform中用来显示提示信息的,如果在asp.net中使用,会显示在服务器端,没意义
web中使用javascritp:alert
或者用confirm也可以
MessageBox是继承自form类
MessageBox.Show是winform中用来显示提示信息的,如果在asp.net中使用,会显示在服务器端,没意义
web中使用javascritp:alert
或者用confirm也可以
protected void gvRole_RowDataBound1(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "a=this.style.backgroundColor;this.style.backgroundColor='#EEEEEE'");
e.Row.Attributes.Add("onmouseout", "this.style.backgroundColor=a");
string roleName = ((Label)e.Row.FindControl("Label2")).Text;
((Button)e.Row.FindControl("导出按钮的id")).Attributes.Add("onclick", "return confirm('是否确定导出" + roleName + "?')");
}
}
//参数你自己随意加减,记住这个函数要在<head>标签块里
fuction Doingthing(mes,fileName)
{
if(confirm(mes))
{
//同意,则跳转
window.location.href="DownFileLode.aspx?filename="+fileName;
}
else {}//不同意则
}//后台调用
this.Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyFuction", "<script type=\"text/javascript\">Doingthing('"+"提示信息"+"','"+"文件名称+"');</script>", false);//上面只是能让你后台调用前台JS//但解决不了楼主的难题,如果我猜得不错,楼主的意思应该是用户在得到弹窗口提示之后,做出选择“是”或“否”,如果是,则跳转页面,如果否,则继续后面的c#代码,固我的这个方案没法实现选择“否”时的展出操作。
//建议楼主换另一种思路,比如在导出按钮上加上JS代码,如<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick='return Doingthing(<%# Eval("FileName")%>);'>导出数据</asp:LinkButton>
fuction Doingthing(fileName)
{
if(confirm("下载并导出?"))
{
//同意,则跳转
window.location.href="DownFileLode.aspx?filename="+fileName;
}
else {return true;}//不同意则返回真,让控件执行onclick事件
}
//执行代码
//弹出一个DIV。(不用confim 或message) 因:web是单线程执行,所以系统不会等你点确定在执行后面的语句。
//if(根据DIV上的选择)
//执行一段逻辑
// else
//执行另一段逻辑
//执行后面的逻辑