Asp.net mvc 在提交表单之前上载文件

Asp.net mvc 在提交表单之前上载文件,asp.net-mvc,Asp.net Mvc,我有一个申请工作的表格。在该表格中,应该允许用户上传简历,该表格也有一个下拉列表,允许用户从以前上传的简历列表中进行选择。现在我的问题是,我需要在不提交表单的情况下上传新简历,并用新上传的简历重新填充下拉列表。因此,用户现在可以通过选择下拉列表中列出的简历来申请工作。是否需要帮助?您需要使用Json,以防止在页面中完全发回。之后,您必须返回到局部视图 例如, HTML代码: <input type="text" id="UserName" name="UserName"/> <

我有一个申请工作的表格。在该表格中,应该允许用户上传简历,该表格也有一个下拉列表,允许用户从以前上传的简历列表中进行选择。现在我的问题是,我需要在不提交表单的情况下上传新简历,并用新上传的简历重新填充下拉列表。因此,用户现在可以通过选择下拉列表中列出的简历来申请工作。是否需要帮助?

您需要使用Json,以防止在页面中完全发回。之后,您必须返回到局部视图

例如,

HTML代码:

<input type="text" id="UserName" name="UserName"/>
<input type="button" onclick="ButonClick()" value="Enter"/>
控制器:

public ActionResult MyActionResult(string UserName , MyModel model)
{
    var stringView = RenderRazorViewToString("_YourPartialView", model);
    return Json(stringView, JsonRequestBehavior.AllowGet);
}
注意:

您需要以下代码来呈现json的部分视图

将以下内容也添加到控制器中

public string RenderRazorViewToString(string viewName, object model)
{
    ViewData.Model = model;
    using (var sw = new StringWriter())
    {
       var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
       var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData,   TempData, sw);
       viewResult.View.Render(viewContext, sw);
       viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
       return sw.GetStringBuilder().ToString();
     }
}

他只使用MVC,不使用ASP页面
public string RenderRazorViewToString(string viewName, object model)
{
    ViewData.Model = model;
    using (var sw = new StringWriter())
    {
       var viewResult = ViewEngines.Engines.FindPartialView(ControllerContext, viewName);
       var viewContext = new ViewContext(ControllerContext, viewResult.View, ViewData,   TempData, sw);
       viewResult.View.Render(viewContext, sw);
       viewResult.ViewEngine.ReleaseView(ControllerContext, viewResult.View);
       return sw.GetStringBuilder().ToString();
     }
}