在Jquery中设置活动手风琴

时间:2009-06-06 08:30:28

标签: jquery asp.net-mvc accordion

我正在使用带C#的MVC和jquery。

我正在使用jquery手风琴查看员工详细信息列表。 点击手风琴后,它会显示员工的详细信息。

当我单击编辑员工时,它将转到员工详细信息页面,保存后它将在会话中具有EmployeeDetailsID。当我回到手风琴页面时,默认情况下应该打开最后更新的员工的手风琴(即Accordion应该根据会话中的EmployeeDetailsID打开)。

请建议如何执行此操作。

以下是供参考的代码。

<html>
<body>
<div class="accordion" id="accordion">
    <%if (Model != null && Model.EmployeeList != null && Model.EmployeeList.Count > 0)
              {
                  foreach (EmployeeDetails _employee in Model.EmployeeList)
                  {
    %>
    <h3>
        <div class="heading_acc">
            <a href="#" onclick="javascript:ShowEmployees(<%= _employee.EmployeeDetailsID %>);"
                id="aEmployee"><b><span class="dash_title_bar_right">
                    <%=Html.Encode(_employee.EmployeeName)%></b> </a>
        </div>
    </h3>
    <div>
        <div id="divReturns<%= _employee.EmployeeDetailsID %>">
            <table width="100%" class="list_contentregion">
                <tr>

                    <th class="dash_table_head">
                        Name
                    </th>
                    <th class="dash_table_head">
                        Role
                    </th>
                    <th class="dash_table_head">
                        Branch
                    </th>
                    <th class="dash_table_head">
                        Last Updated
                    </th>
                </tr>
                <tr id="trEmp<%= _employee.EmployeeDetailsID %>" class="dash_label">

                    <td>
                        <div id="lblName<%= _employee.EmployeeDetailsID %>">
                        </div>
                    </td>
                    <td>
                        <div id="lblRole<%= _employee.EmployeeDetailsID %>">
                        </div>
                    </td>
                    <td>
                        <div id="lblBranch<%= _employee.EmployeeDetailsID %>">
                        </div>
                    </td>
                    <td>
                        <div id="lblTime<%= _employee.EmployeeDetailsID %>">
                        </div>
                    </td>
                </tr>
            </table>
        </div>
    </div>
    <%}
              } %>
</div>

</body>
</html>

1 个答案:

答案 0 :(得分:1)

当您编辑员工数据时,我希望您将用户返回到员工列表中的正确页面。

根据这个假设,当您循环遍历员工列表时,可以针对会话变量检查_employee.EmployeeDetailsID值,然后将Loop itteration数字写入&lt; script&gt;调用以下代码的块。

$("#accordion").accordion( 'activate' , loopIndex);

可以在此处找到jQuery手风琴的文档以及此方法的详细信息http://docs.jquery.com/UI/Accordion#method-activate

请注意我从其他文档中读到的文档,我认为你不应该使用会话变量进行此类事情。

我建议通过MVC路由系统将变量作为路由值返回。请参阅以下代码作为示例。

new { Controller = "Employee", Action = "List", Page = pageNumber, EmployeeId = EmployeeDetailsID }