2013-09-25 3 views
0

나는 직업에 신청할 양식이 있습니다. 사용자는 이력서를 업로드 할 수 있어야하며, 양식에는 이전에 업로드 한 이력서 목록에서 선택할 수있는 드롭 다운 메뉴가 있습니다. 이제 내 질문에 새 양식을 제출하지 않고 새 이력서를 업로드하고 새로 업로드 한 이력서로 드롭 다운을 다시 채워 넣어야합니다. 이제 사용자는 드롭 다운 목록에있는 이력서를 선택하여 작업을 적용 할 수 있습니다. 아무 도움이됩니까?양식 제출 전에 파일 업로드

답변

0

페이지에서 전체 다시 게시를 방지하려면 Json을 사용해야합니다. 그런 다음 부분보기로 돌아와야합니다.

예 :

HTML 코드 :

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

자바 스크립트 코드 :

function ButonClick() { 
    var data= { 
     UserName: $('#UserName').val(), 
    }; 

$.ajax({ 
    url: "/Home/MyActionResult", 
    type: "POST", 
    dataType: "json", 
    contentType: 'application/json', 
    data: JSON.stringify(data) 
    }); 

컨트롤러 :

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(); 
    } 
} 
+0

그는 ASP 페이지가 아닌 MVC 만 사용합니다. –

관련 문제