当前位置: 首页 > 面试题库 >

使用Ajax.BeginForm绑定HttpPostedFileBase

拓拔嘉颖
2023-03-14
问题内容

我有一个使用HttpPostedFileBase的默认活页夹绑定模型和文件上传的表单。

使用Html.BeginForm()时,此方法工作正常。但是,我想使用AJAX执行相同的操作,因此我将其替换为Ajax.BeginForm()并相应地更改了参数。

该模型仍然可以正确绑定,但是我无法将文件上传绑定到HttpPostedFileBase。

这将绑定模型和文件上传:

<% using (Html.BeginForm("MapUpdateColumns", "RepositoryAdmin", FormMethod.Post, new { id = "UpdateDataset", enctype = "multipart/form-data" })) {%>

这仅绑定模型:

<% using (Ajax.BeginForm("MapUpdateColumns", "RepositoryAdmin", new AjaxOptions { UpdateTargetId = "columnMappings" }, new { id = "UpdateDataset", enctype = "multipart/form-data" })) {%>

控制器动作:

public ActionResult MapUpdateColumns(DatasetViewModel model, HttpPostedFileBase sourceFile)

应该可以吗?如果可以,我在做什么错?谢谢。


问题答案:

您无法使用AJAX上传文件。实现此目的的一种方法是使用隐藏的iframe,该iframe将模拟AJAX调用并执行实际的文件上传或使用Flash。这是一个非常好的jQuery
Form
插件,它使用隐藏的iframe,能够透明地将包含文件字段的表单提交修改为ajax。



 类似资料:
  • 问题内容: 我正在使用PDO,是否需要清理GET参数? 我知道我是否比那不是问题。但是我的方式安全吗? 问题答案: 是的,这很安全。和之间的唯一区别是: 一次接受多个参数,而每个参数都必须 允许您指定参数类型,同时将所有内容绑定为字符串 将参数传递给通常是一个方便的快捷方式,它仍然是安全的。

  • 问题内容: 我用这个Ajax.BeginForm 我需要在控制器中写些什么才能捕获此OnSucces和OnFailure。 因为OnSuccess我需要显示成功消息 OnFailure我需要显示其他消息。 在我的控制器中 可以给anydboy帮帮我吗。 谢谢 问题答案: OnSuccess和OnFailure看起来像他们期望的javascript回调函数。 Pro ASP.NET Framewor

  • 问题内容: 我想在我的OnSuccess回调中添加更多参数( 但保留ajax上下文变量 )。 我所做的是: JS函数: 但为空。 我怎么做? 问题答案: 由于正在使用,我猜测您没有使用不引人注意的javascript东西(在MVC3中,您已设置),而是在引用MicrosoftAjax,js和MicrosoftMvcAjax.js文件。如果是这种情况,您只需删除关键字。 如果您通过jquery.un

  • 问题内容: 我正在尝试为我的数据库实现一个非常基本的搜索引擎,其中用户可能包含各种信息。搜索本身包含几个联合选择,其中结果总是合并为3列。 但是,返回的数据是从不同的表中获取的。 每个查询都使用$ term进行匹配,并将其绑定到“:term”作为预备参数。 现在,该手册说: 调用PDOStatement :: execute()时,对于要传递给语句的每个值,必须包含一个唯一的参数标记。您不能在准备

  • 问题内容: 请看下面我的代码。我试图将一系列参数绑定到我准备好的语句中。我一直在网上四处逛逛,可以看到我必须使用call_user_func_array但无法正常工作。我得到的错误是:“第一个参数应该是有效的回调,给出了’Array’”我可能是错误的,但是我假设第一个参数可以是一个数组,并且此错误消息可能会引起误解。我认为问题是我的阵列在某种程度上存在错误。谁能看到我在做什么错?谢谢。 问题答案:

  • 我有一个jTable,它由使用bean绑定的数据库中的数据填充。我想为表实现一个搜索函数。我遇到了以下教程,它使用bean绑定实现了这一点: https://weblogs.java.net/blog/pkeegan/archive/2008/06/using_beans_bin.html 我无法使它工作。当我运行我创建的示例应用程序时,我看到搜索文本字段上出现了一个意外的值,如“javax.sw