Asp.net mvc 3 如何在ASP.NETMVC3中防止表单提交时重定向,而只停留在页面上?

Asp.net mvc 3 如何在ASP.NETMVC3中防止表单提交时重定向,而只停留在页面上?,asp.net-mvc-3,redirect,form-submit,Asp.net Mvc 3,Redirect,Form Submit,我在一个视图中有两个窗体。其中一个负责将图片上传到数据库。 我需要整个页面——以及用户在“其他表单”中输入的数据——保持不变,同时用户还可以上传图片。但它不起作用 问题是当用户提交照片时,整个页面都会改变。更糟糕的是,新页面只包含“照片上传”表单!!因为在返回视图()时,其视图已呈现:/ 看看行动方法: public ActionResult Upload(IEnumerable<HttpPostedFileBase> files) { //Upl

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

问题是当用户提交照片时,整个页面都会改变。更糟糕的是,新页面只包含“照片上传”表单!!因为在
返回视图()时,其视图已呈现:/

看看行动方法:

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

            return View();
        }
public ActionResult上传(IEnumerable文件)
{
//上传图片。
返回视图();
}
是否可以只通过更改操作方法的返回类型来实现我所需的结果,(可能?),从而不呈现任何内容并说只向用户显示一条消息,如“文件已上载!”

还是应该改用Ajax


提前感谢您的建议;)

如果视图是针对模型的强类型视图,则始终可以将模型传递回用户以“重新填充”常量表单(可能是最坏的选项)。另一个选择(可能是最好的)当然是ajax。

您不能使用ajax上传文件,但可以使用一些第三方组件,使用类似ajax的隐藏iframe上传文件。你可以用谷歌jqueryajax上传插件

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

谢谢JTMon;)我会选择阿贾克斯。