个性化手风琴(如Master-Details列表)

时间:2012-02-15 13:56:17

标签: asp.net accordion

我需要创建一个Accordion Ajax控件,它在第一个Pane中有一个记录列表 (例如用户)。 当网络用户查看其中一个用户时,其他窗格必须填充此用户的详细信息。 例如,如果我在第一个记录中使用clic,则Pane2将填充LifeDetails,Pane3与HomeDetails,Pane4与JobDetails等等。

任何人都知道如何实现这个目标?

非常感谢。

路易

1 个答案:

答案 0 :(得分:0)

我会尝试使用http://docs.jquery.com/UI/Accordionhttp://pjax.heroku.com/ ...

来解决这个问题

的内容
 <div id="accordion">
      <h3><a href="#">pane1</a></h3>
      <div>
          <ul id="persons">
              <li><a href="person1.aspx">Person 1</a></li>
              <li><a href="person2.aspx">Person 2</a></li>
              <li><a href="person3.aspx">Person 3</a></li>
          </ul>
      </div>
      <h3><a href="#">Life Details</a></h3>
      <div>
          Some content here
      </div>
      <h3><a href="#">Home Details</a></h3>
      <div>
          Some content here
      </div>
      <h3><a href="#">Job Details </a></h3>
      <div>
          Some content here
      </div>
 </div>

标记。然后你的JavaScript应该像

<script src="jquery.min.js"></script>
<script src="jquery.cookie.js"></script>
<script src="jquery-ui.min.js"></script>
<script src="jquery.pjax.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
            $("#accordion").accordion();
            $('.persons').pjax('#accordion');
    });
</script>

在您的aspx中,您检查了HTTP_X_PJAX标题(请参阅xhr.setRequestHeader('X-PJAX', 'true')),如果它存在,则只渲染所选项目的<div id="accordion">(不包含主页,只是div),如果它不存在,则渲染整个页面(使用母版页)。