我有模型的显示和编辑模板。编辑器模板使用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>
这把手风琴放在`&lt; DIV&GT;元素编辑器。现在,如果我在同一个视图上多次使用此模板,它们将具有相同的编辑ID。
我需要在同一个视图上执行此操作:
Html.EditorForModel();
Html.EditorForModel();
但由于模板具有硬编码ID“编辑器”,因此第二个EditorForModel不适用于手风琴。
答案 0 :(得分:1)
您不必在手风琴内的每个<div>
上放置ID,因此您可以完全放下它们。对于外部<div>
,请使用类代替在选择器中启用accordion。
<div class="accordion">
<h3><a href="#"></a>Part 1</h3>
<div></div>
<h3><a href="#"></a>Part 2</h3>
<div></div>
<h3><a href="#"></a>Part 3</h3>
<div></div>
</div>
<script type="text/javascript">
$(document).ready(function () {
$('.accordion').accordion();
});
</script>
答案 1 :(得分:0)
我不确定但你可以尝试为你创建的每个对象添加id。像下一个Html.EditorForModel(new{id=SomeId});
之类的东西。我看到你有答案,但请检查一下,让我知道它是否有效。