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