0

我在一个视图中有两种形式。其中一个负责将图片上传到数据库。我需要整个页面——以及用户在“其他表单”中输入的数据——保持不变,同时用户也可以上传图片。但它不起作用。

问题是当用户提交照片时,整个页面都会发生变化。更糟糕的是,新页面只包含“照片上传”表单!因为在Return View();“上传图片”Action方法的作用下,它的View被渲染了。:/

看动作方法:

public ActionResult Upload(IEnumerable<HttpPostedFileBase> files)
        {
          //Upload the pictures .

            return View();
        }

是否可以仅通过更改 Action 方法的返回类型来实现我需要的结果(也许?),以便不呈现任何内容并说只是向用户显示一条消息,例如“文件已上传!” ??

或者我应该改用 Ajax 吗?

提前感谢您的建议;)

4

2 回答 2

0

如果视图是针对模型进行强类型化的,那么您始终可以将模型传回给用户以“重新填充”常量表单(可能是最糟糕的选择)。另一个选择(可能是最好的)当然是 ajax。

于 2012-08-09T12:04:46.363 回答
0

您不能使用 AJAX 上传文件,但您可以使用一些第三方组件,这些组件将使用类似于 AJAX 的隐藏 iframe 上传文件。你可以google jquery ajax上传插件

对于其他表单,您可以使用Ajax.BeginForm/PartialView来避免完全刷新。

于 2012-08-09T17:10:44.543 回答