Javascript 从服务器端打开弹出窗口

Javascript 从服务器端打开弹出窗口,javascript,asp.net,Javascript,Asp.net,我正在添加一个检查,以验证在web应用程序中导入的文件的大小。如果文件大小大于4MB,我需要显示一个确认弹出窗口,用户是否确定要上传文件。如果用户选择“是”,则会出现默认功能,否则将取消上载 我正在尝试使用打开服务器端的确认弹出窗口 Page.ClientScript.RegisterStartupScript(typeof(NewDocument), "ValidateFileSize", "<script>ValidateFileSize()</script>"

我正在添加一个检查,以验证在web应用程序中导入的文件的大小。如果文件大小大于4MB,我需要显示一个确认弹出窗口,用户是否确定要上传文件。如果用户选择“是”,则会出现默认功能,否则将取消上载

我正在尝试使用打开服务器端的确认弹出窗口

Page.ClientScript.RegisterStartupScript(typeof(NewDocument), "ValidateFileSize",    "<script>ValidateFileSize()</script>");
Page.ClientScript.RegisterStartupScript(typeof(NewDocument),“ValidateFileSize”,“ValidateFileSize()”;
其中,
ValidateFileSize()
是一个显示确认框的JavaScript函数

但问题是,在我使用隐藏变量设置确认弹出窗口的结果并在“
if else
”条件下使用它之前,服务器端的页面控制会向前移动。因此,我无法读取隐藏变量的值并跳过服务器端的上载代码。 我在javascript
element.files.size
中使用了隐藏变量的概念,但在IE8中不起作用

有谁能提出更好的方法或解决方案吗。
或者唯一的解决方案是使用.aspx页面作为弹出窗口?

首先,您的问题不清楚,我希望您的要求是在客户端检查文件大小。但您的问题表明您正在寻找如何在javascript中打开弹出窗口

不管怎样,当谈到你的问题

一旦控制转到服务器端,文件上传控制就会被刷新,所以最好用javascript完全检查文件大小,而不是从服务器端调用脚本方法

下面是一些供您参考的URL


您可以使用文本控件并将其html设置为脚本

e、 g


然后从服务器端设置Text属性,如下所示

if(FILE SIZE IS > 4MB)
{
LiteralText.Text = "<script>ValidateFileSize()</script>";
}
else{
//UPLOAD FILE LOGIC HERE
}
if(文件大小>4MB)
{
Text=“ValidateFileSize()”;
}
否则{
//上传文件逻辑在这里
}

当文件大小大于4MB时,将弹出窗口。在IE8中,不能使用Javascript读取文件大小。如果知道如何使用,请共享除ActiveXObject使用之外的解决方案。如果用户选择“确定”,则需要上载文件。设置隐藏字段的值,并相应地处理请求
if(FILE SIZE IS > 4MB)
{
LiteralText.Text = "<script>ValidateFileSize()</script>";
}
else{
//UPLOAD FILE LOGIC HERE
}