2008-10-27 64 views

回答

2

你不能用这种控制的现成的现成的版本,但你可以很容易地修改源代码来创建自己的版本。签出AjaxControlToolkit \ Tabs \ TabContainer.cs(如下)。您需要反转该顺序,以便RenderHeader()部件位于RenderChildren()部件的下方。另外,您可以将属性添加到名为“RenderHeaderFirst”控制或类似的东西来实现相同的功能:

protected override void RenderContents(HtmlTextWriter writer) 
    { 
     Page.VerifyRenderingInServerForm(this); 

     // rendering the tabs (header) 
     writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "_header"); 
     writer.RenderBeginTag(HtmlTextWriterTag.Div); 
     { 
      RenderHeader(writer); 
     } 
     writer.RenderEndTag(); 

     // rendering the contents of the tabs (children) 
     if (!Height.IsEmpty) 
      writer.AddStyleAttribute(HtmlTextWriterStyle.Height, Height.ToString()); 

     writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID + "_body"); 
     writer.RenderBeginTag(HtmlTextWriterTag.Div); 
     { 
      RenderChildren(writer); 
     } 
     writer.RenderEndTag(); 
    } 

附:我自己并没有尝试过,但它看起来是正确的方向。

2

或者你可以只使用TabContainer的的TabStripPlacement财产......

TabContainer的属性

  • ActiveTabChanged(事件) - 燃烧在服务器端,当一个选项卡在回发后更改
  • OnClientActiveTabChanged - javascript f unction附加到客户端tabChanged事件
  • CssClass - 一个css类覆盖用于定义标签的自定义外观。有关更多详细信息,请参见标签主题部分。
  • ActiveTabIndex - 显示
  • 身高第一个选项卡 - 设置选项卡的主体的高度(不包括的TabPanel头)
  • 宽度 - 设置的本体的宽度凸片
  • 滚动条 - 是否显示在TabContainer的
  • TabStripPlacemen的主体滚动条(无,水平,垂直,两者,自动) t - 是否在容器顶部或下方呈现标签(顶部,底部)