モデル用のディスプレイテンプレートとエディターテンプレートがあります。エディタテンプレートはjqueryアコーディオンを使用し、表示テンプレートはタブを使用します。問題は、jqueryが機能するために割り当てる必要のあるIDです。
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<SpletniObrazec.Models.Obrazec>" %>
<div id='Editor'>
<h3><a href="#"></a>Part 1</h3>
<div id='Editor-1'></div>
<h3><a href="#"></a>Part 2</h3>
<div id='Editor-2'></div>
<h3><a href="#"></a>Part 3</h3>
<div id='Editor-3'></div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('#Editor').accordion();
});
</script>
これにより、`<div>要素エディタにアコーディオンが配置されます。このテンプレートを同じビューで複数回使用すると、すべて同じエディターIDになります。
私は同じビューでこれを行う必要があります:
Html.EditorForModel();
Html.EditorForModel();
ただし、テンプレートにはハードコードされたID「Editor」があるため、2番目のEditorForModelはアコーディオンでは機能しません。