Asp.net mvc 3 如何将视图从控制器返回到iFrame

Asp.net mvc 3 如何将视图从控制器返回到iFrame,asp.net-mvc-3,iframe,Asp.net Mvc 3,Iframe,我是MVC 3的新手,遇到了以下情况: 首先让我解释一下如何设置我的应用程序: 所有到服务器的回发都使用jqueryajax,jqueryajax从控制器返回一个视图,该视图可以附加、前置或替换目标div 场景: 我已经到了想上传图像的地步,但不幸的是,由于jquery ajax发布,我无法在C#Request.Files中获取html的值。我知道有插件可以帮助解决这个问题,但我想自己做这件事,所以我创建了一个,然后我使用了一点javascript,并将表单发布到iframe(旧的经典做法):

我是MVC 3的新手,遇到了以下情况:

首先让我解释一下如何设置我的应用程序:

所有到服务器的回发都使用jqueryajax,jqueryajax从控制器返回一个视图,该视图可以附加、前置或替换目标div

场景:

我已经到了想上传图像的地步,但不幸的是,由于jquery ajax发布,我无法在C#
Request.Files
中获取html的值。我知道有插件可以帮助解决这个问题,但我想自己做这件事,所以我创建了一个
,然后我使用了一点javascript,并将表单发布到iframe(旧的经典做法):

SACTION
参数类似于
@Url.Action(“UploadFile”、“Response”)
。这一切都很好,因为它点击了控制器操作方法,然后我可以保存图像:

[HttpPost]
        public ActionResult UploadFile(string ArticleID)
        {
            ViewBag.PreviewImage = cFileUploads.UploadFile(ArticleID, Request.Files[0]); 

            return View("ImagePreview");
        }
我现在想返回iframe的视图(只是预览图像,然后做一些其他事情,但这不是重点)

用于预览图像的视图:

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<form action="">
<img alt="" src="@ViewBag.PreviewImage" />
</form>
</body>
</html>

问题:


不幸的是,当我在C#中返回视图(ImagePreview.cshtml)时,整个页面都被刷新了,我只想刷新iFrame。如何从控制器返回视图?

解决了这个问题,我使用了一点javascript来替换iframe所在的div的内容。。。(拍我的额头)。现在一切正常:)

我将把这个问题留在这里以防万一

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<body>
<form action="">
<img alt="" src="@ViewBag.PreviewImage" />
</form>
</body>
</html>