2

私はasp.net mvcが初めてで、これを行うための最良の方法を見つけることができませんでした:

ドロップダウンリストのあるフォームがあります。コントローラーでは、フォームにデータを入力する際に​​次のように設定しました:
ViewBag.DDLCONTENT = ....(そしてデータベースから取得します);

コントローラーのフォームにajaxを再入力するViewBag.DDLCONTENTと、空になります。データベースを再度呼び出すことなく、正確にこれを行う必要がありますか?

私の質問が十分に明確でない場合は、完全なコードを投稿でき
ます ありがとう

4

2 に答える 2

1

では、データベースを再度呼び出すことなく、これを正確に行う必要がありますか?

データベースを再度呼び出します。DropDownListは、選択された値のみをサーバーに送信します。または、呼び出しを避けたい場合は、それらの値をキャッシュに保存できます。ただし、データベース内のデータが途中で変更された場合は、とにかくそれを呼び出して新しいデータを取得することをお勧めします。

于 2012-09-20T09:45:20.303 に答える
0

ドロップダウンをdivに配置し、フォームを再入力する前にdivのクローンを作成します。いずれにせよ、これはAJAXクライアント側で行われているため、ソリューションはjavascriptやjqueryなどのクライアント側コードから取得する必要があります。

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

ダリンは新鮮なデータについて良い点を述べています。データが古くなっている可能性がある場合は、データベースをもう一度呼び出す必要があります。

于 2012-09-20T09:45:09.600 に答える