c# - 立即从后面的代码执行 Javascript 方法
问题描述
我有一个页面,您可以在其中上传文档。如果您单击上传,则会在触发实际上传代码之前执行一些验证步骤。其中一个步骤是我检查文件是否已经存在。如果是这样,我想执行一个 Javascript confirm() 方法来询问用户是否要替换文件。如果他选择是,我将“是”写入(最终隐藏的)标签;如果他选择否,我在里面写“否”。我这样做是因为我想检查用户选择的代码背后的代码,如果他选择“否”,我希望能够不执行上传。
我知道 RegisterStartupScript() 方法并且我已经尝试过了。那里的问题是它不会立即执行它。它在将方法留在代码中并再次加载页面后执行。到那时,文档已经上传,即使用户选择了“否”。
这里我检查文档是否存在并要执行Javascript方法提示用户
if (File.Exists(Server.MapPath(filePath)))
{
ClientScript.RegisterStartupScript(this.GetType(), "returnValue", "MyJavascriptFunction();", true);
}
这是我从隐藏标签中检查用户答案并在他选择取消时采取相应措施的步骤(它if
在我要调用 JS 函数的上述语句之后立即执行
if (PopUpReturnValue.Text == "no")
{
throw new Exception("you cancelled");
}
我希望 javascript 代码在我调用它后立即运行,然后继续执行下if
一条语句,但它会完成整个方法,然后执行 Javascript 代码。有没有办法让它按照我的预期运行?
提前谢谢了!
解决方案
推荐阅读
- flutter - 在 Flutter 的 main/App 类中调用方法?
- powershell - ShellLauncher 将应用程序移动到 c:/windows/system32
- javascript - 如何模拟我的测试类用玩笑所做的导入?
- javascript - 反应选择下拉onChange过滤器并重置为先前/原始状态?
- objective-c - Cenario VR iOS课程一次又一次从头开始
- laravel-5 - Laravel 从路由文件重定向到另一条路由
- ios - UItableview在内容中加载缓慢的ios
- javascript - scrollToTop 不适用于 jQuery(document).on('ready', function() {
- javascript - 在 routes.js 文件中使用 JSX 错误时,“React”必须在范围内
- c++ - 如何在 C++ vs CPLEX 中实现宏节点回调