推广 热搜:   公司  中国  行业  快速  企业  设备  上海  未来  技术 

asp.net 多页Tab功能

   日期:2025-01-01     移动:http://www78564.xrbh.cn/mobile/quote/28496.html

 

asp.net 多页Tab功能

搜索了相关的资料,转载了4种方式,个人感觉第一种最好,不需要用code改变,比较灵活,也很好看。

Ajax的现成控件应该也比较好用,不过没有试用。

 

=========================================

方法1: 个人感觉最好,灵活,美观

==========================================

 
 
 
 
 
 
 



在<div id="attendance" class="mainNavg">的代码中,我们可以使用不同的id作为选择器,由于CSS中的选择器id的优先级将大于class,所以只要根据id配合上li上面的id,就可以达到动态选择高亮选中的目的。

事实上,由于我们的页面都是动态的,所以id可以由后台生成,这样就可以通过id的不同组合非常精巧的实现了我们的需求。

5. 小技巧

最后可能还有一个问题你在想怎么实现的,就是高亮的tab如何把下面的横线遮掉的

很简单,图片上的小技巧。将高亮的图片高度设置为25px,而普通的图片设置为24px。然后通过padding,就可以将那根横线遮去了。


我们可以使用类似的方式,把二级菜单也做出来,这里就不详细叙述了。大家可以结合源码试一下。

附件为

 

 

============================================================

方法2: 需要用code控制页面切换,当tab页数多时就很不方便

==========================================================

 

asp.net 多页Tab功能(div实现/iframe实现

原理呢,就是通过后台代码控制div标签的display属性值。这里一定要注意,在定义div时,加上属性runat="server"和style=”overflow:auto“ 。另外,还可以通过控制z-index高度值来控制显隐。
aspx页面

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
    <style>.aaa {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #E0E0E0; BORDER-BOTTOM-STYLE: none
}
.bbb {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #0000C0; BORDER-BOTTOM-STYLE: none; COLOR:White
}
</style>
</head>
<body>
    <form id="Form1" method="post" runat="server">
        <asp:Button ID="TabButton1" Style=" left: 16px;
            top: 24px" runat="server" Text="查询" CssClass="aaa" OnClick="TabButton1_Click"
            Width="60px"></asp:Button>
        <asp:Button ID="TabButton2" Style=" left: 77px;
            top: 24px" runat="server" Text="新建" CssClass="bbb" OnClick="TabButton2_Click"
            Width="60px"></asp:Button>
        <asp:Button ID="TabButton3" Style=" left: 138px;
            top: 24px" runat="server" Text="批量" CssClass="bbb" OnClick="TabButton3_Click"
            Width="60px"></asp:Button><br />
        <div id="tab1" style="left: 16px; width: 100%;overflow:auto; top: 40px;
            height: 40px; background-color: #E0E0E0" runat="server">
            <asp:Label ID="Label1" runat="server" Text="Label1"></asp:Label></div>
        <div id="tab2" style="left: 16px; width: 100%;overflow:auto; top: 40px;
            height: 40px; background-color: #E0E0E0" runat="server">
            <asp:Label ID="Label2" runat="server" Text="Label2"></asp:Label></div>
        <div id="tab3" style=" left: 16px; width: 100%;overflow:auto; top: 40px;
            height: 40px; background-color: #E0E0E0" runat="server">
            <asp:Label ID="Label3" runat="server" Text="Label3"></asp:Label></div>
    </form>
</body>
</html>

cs页面

protected void TabButton1_Click(object sender, System.EventArgs e)
    {
        tab1.Style.Add("display", "block");
        tab2.Style.Add("display", "none");
        tab3.Style.Add("display", "none");
        TabButton1.CssClass = "aaa";
        TabButton2.CssClass = "bbb";
        TabButton3.CssClass = "bbb";
    }

    protected void TabButton2_Click(object sender, System.EventArgs e)
    {
        tab1.Style.Add("display", "none");
        tab2.Style.Add("display", "block");
        tab3.Style.Add("display", "none");
        TabButton1.CssClass = "bbb";
        TabButton2.CssClass = "aaa";
        TabButton3.CssClass = "bbb";
    }
    protected void TabButton3_Click(object sender, System.EventArgs e)
    {
        tab1.Style.Add("display", "none");
        tab2.Style.Add("display", "none");
        tab3.Style.Add("display", "block");
        TabButton1.CssClass = "bbb";
        TabButton2.CssClass = "bbb";
        TabButton3.CssClass = "aaa";
    }

 

 

==========================================================

方法3: tab页的大小固定,网页全屏和最小化切换时,tab页位置不能固定,根据页面计算的结果让其位置有变化

=============================================================

  我们经常在主页中要浏览分类信息,在C/S模式下,经常采用Tab分页的方式来做,然后将不同的信息放到不同的Tab页中,然后可以点击页签去查看不同页面中的内容。我们可以用网页的Iframe来实行这个功能,先建立一个主WebForm1,在上面放两个按钮来模拟页签(今后也可以用Photoshop来制作更精美的页签,然后再建立两个子Form,WebForm2,WebForm3,当按钮被按下的时候来切换Iframe的src属性去显示不同的子页面。具体代码如下

WebForm1.ASPx
<%@ Page language="c#" Codebehind="WebForm1.ASPx.cs" AutoEventWireup="false" Inherits="iframetest.WebForm1" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>WebForm1</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="javascript" name="vs_defaultClientscript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
<STYLE>.aaa {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #ffcc33; BORDER-BOTTOM-STYLE: none
}
.bbb {
BORDER-TOP-STYLE: none; BORDER-RIGHT-STYLE: none; BORDER-LEFT-STYLE: none; BACKGROUND-COLOR: #99ffcc; BORDER-BOTTOM-STYLE: none
}
</STYLE>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="Form1" method="post" runat="server">
<ASP:button id="Button1" style="Z-INDEX: 101; LEFT: 16px; POSITION: absolute; TOP: 24px" runat="server"
Text="Button" CSSClass="aaa"></ASP:button>
<ASP:Button id="Button2" style="Z-INDEX: 102; LEFT: 72px; POSITION: absolute; TOP: 24px" runat="server"
Text="Button" CSSClass="bbb"></ASP:Button>
<iframe id="Iframe1" style="BORDER-RIGHT: 0px solid; BORDER-TOP: 0px solid; Z-INDEX: 103; LEFT: 16px; BORDER-LEFT: 0px solid; WIDTH: 648px; BORDER-BOTTOM: 0px solid; POSITION: absolute; TOP: 40px; HEIGHT: 288px"
runat="server"></iframe>
</form>
</body>
</HTML>

WebForm1.ASPx.cs
.
.
.

private void Button1_Click(object sender, System.EventArgs e)
{
Iframe1.Attributes.Add("src","Webform2.ASPx");
}

private void Button2_Click(object sender, System.EventArgs e)
{
Iframe1.Attributes.Add("src","Webform3.ASPx");
}

 

=================================

方法4: 有一个ajax控件可以实现,没用,可以参考

http://www.ntsky.com/download/code/2007-05-15/3187532351f28876.html

本文地址:http://www78564.xrbh.cn/quote/28496.html    迅博思语 http://www78564.xrbh.cn/ , 查看更多

特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


相关最新动态
推荐最新动态
点击排行
网站首页  |  二维码  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  粤ICP备2023022329号