ASP.NET点击提交按钮时弹出一个消息框,但是不想把fileupload控件的路径清空改怎么办?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET点击提交按钮时弹出一个消息框,但是不想把fileupload控件的路径清空改怎么办?相关的知识,希望对你有一定的参考价值。

ASP.NET点击提交按钮时弹出一个消息框,但是不想把fileupload控件的路径清空改怎么办

如果您不希望在点击提交按钮时清空 fileupload 控件的路径,可以尝试以下方法:

    在点击提交按钮时,使用 javascript 弹出消息框,而不是使用 ASP.NET 的消息框。这样就可以在弹出消息框的同时,保留 fileupload 控件的路径。

    在提交表单之前,先判断 fileupload 控件是否已选择文件。如果已选择,则弹出消息框;如果未选择,则不弹出消息框,直接提交表单。这样也可以在弹出消息框的同时,保留 fileupload 控件的路径。

    使用 AJAX 技术异步提交表单,在服务器端处理完操作之后,再弹出消息框。这样可以避免直接提交表单,从而保留 fileupload 控件的路径。

例如,您可以使用 jQuery 的 ajax 函数发送异步请求,如下所示:

$(function ()
$('#submitButton').click(function ()
$.ajax(      url: 'your url', 

type: 'post',      

data: $('#form').serialize(),   

success: function (result)     

alert(result.message);

);
);
);

追问

    在点击提交按钮时,使用 JavaScript 弹出消息框,而不是使用 ASP.NET 的消息框。这样就可以在弹出消息框的同时,保留 fileupload 控件的路径。

弹窗是通过JavaScript实现的 Response.Write("<script>javascript:alert('错误提示!');</script>"); 点击弹窗中的OK,会导致fileupload 的内容清空。

参考技术A 如果你使用的是ASP.NET的WebForms框架,可以在按钮的点击事件处理函数中加入以下代码来弹出消息框:
ScriptManager.RegisterStartupScript(this, this.GetType(), "alert", "alert('提交成功!');", true);
在这段代码中,"alert('提交成功!')"部分是弹出消息框的代码,"提交成功!"是消息框中显示的文本。
如果你不想清空fileupload控件的路径,可以在提交按钮的点击事件处理函数的最后,加入以下代码来终止事件的传播:
e.PreventDefault();
这样,在弹出消息框后,页面就不会被刷新,fileupload控件的路径就不会清空。
希望这些信息能帮到你!

禁用“离开网站?”关闭 Orbeon 窗体窗口时弹出

【中文标题】禁用“离开网站?”关闭 Orbeon 窗体窗口时弹出【英文标题】:Disable 'Leave site?' popup when close Orbeon Form window 【发布时间】:2021-04-25 15:14:16 【问题描述】:

我们有一些 Orbeon 表单,不希望 Orbeon 保存我们的控制值,因为我们在 POST 方法中将它们作为 xml 发送。我们在 properties-local.xml 文件中将 'then save' 行替换为 'then send' 行。但是当我们点击提交按钮(并成功获取 xml)并关闭 Orbeon 窗口时,“离开站点?您所做的更改可能不会被保存。弹出窗口出现。 有没有办法禁用此弹出窗口?

我们properties-local.xml的相关部分:

<property as="xs:string" name="oxf.fr.detail.process.submit.myappname.*">
    require-uploads
    then validate-all
    then send(uri="http://myuri", method="POST", content="xml")
    then new-to-edit
    then success-message("save-success")
    recover error-message("database-error")
</property>

【问题讨论】:

是否可以编辑您的问题以包含您在properties-local.xml 中定义您所指过程的属性? (如果可能的话,也在这里发表后续评论,以便我们收到通知。)-Alex 我编辑了我的问题并插入了properties-local.xml文件的相关部分(提交时,保存情况类似)。 知道了,谢谢你的过程,我已经在下面发布了答案。我希望它有所帮助。 -亚历克斯 您有没有机会尝试将set-data-status(status = "safe") 操作添加到您的流程中?如果是这样,那对你有用吗? -亚历克斯 【参考方案1】:

在您的流程中,在以recover 开头的行之前,添加:

set-data-status(status = "safe")

有关此操作,请参阅its documentation。

【讨论】:

以上是关于ASP.NET点击提交按钮时弹出一个消息框,但是不想把fileupload控件的路径清空改怎么办?的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET点击按钮,弹出一个提示框

asp.net后台实现点击按钮弹出提示框

怎么实现在ASP.NET点击一个按钮就弹出要用户输入(含ASP.NET组件)的窗体?

无法使用 SQL 数据激活消息框 - ASP.NET

asp.net后台弹出输入框~

ASP.NET点击页面内容出现文本框