我正在使用带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>
答案 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 }