2012-09-20 5 views
2

저는 asp.net mvc에 익숙하지 않으며 이것을 수행하는 가장 좋은 방법을 찾지 못했습니다.ASP.NET MVC3 지우기 양식

드롭 다운 목록이있는 양식이 있습니다. 컨트롤러에서 폼을 채우는 동안, 나는 다음과 같이 설정합니다 :
ViewBag.DDLCONTENT = .... (그리고 데이터베이스에서 가져옵니다);

컨트롤러에서 아약스로 양식을 다시 채우는 경우 ViewBag.DDLCONTENT이 비게됩니다. 데이터베이스를 다시 호출하지 않아도됩니다. 내 질문이 명확하지 않은 경우

나는 충분히
이 사업부 당신에게

+0

지금까지 해본 내용의 샘플을 게시하면 도움이 될 것입니다. –

+0

서버를 호출하면 ViewBag 값이 다시 설정됩니다. ViewBag에서 값을 설정할 때마다. – Sender

+0

값 목록이 많지 않은 경우 세션 객체를 사용하여 해당 목록을 저장하고이를 사용하여 Ajax 작업에서 DDLContent를 다시 채울 수 있습니다 – Typist

답변

0

장소 드롭 다운 감사 양식을 다시 채우기 전에 그럼 그냥 사업부를 복제 전체 코드를 게시 할 수 있습니다. 어느 쪽이든, AJAX 클라이언트 측에서 수행 중이므로 솔루션은 javascript 또는 jquery와 같은 클라이언트 측 코드에서 가져와야합니다.

<div id="ddlClone">@Html.DropDownFor()</div> 
<script type="text/javascript"> 
var cloneForLater = $("#ddlClone").clone(true); 
</script> 

대린은 신선한 데이터에 대해 좋은 지적을합니다. 데이터가 오래 되었다면 데이터베이스를 다른 시간에 호출해야합니다.

1

데이터베이스를 다시 호출하지 않아도됩니다.

데이터베이스를 다시 호출하십시오. DropDownList는 선택한 값만 서버로 보냅니다. 또는 호출하지 않으려는 경우 해당 값을 캐시에 저장할 수 있습니다. 그러나 데이터베이스의 데이터가 변경되는 경우 새 데이터를 검색하기 위해 어쨌든 호출하려고합니다.

관련 문제