FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 3777|回复: 2
打印 上一主题 下一主题

【非BUG】动态添加Tab不能正确获取count的问题

[复制链接]
跳转到指定楼层
楼主
发表于 2015-11-15 21:00:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
反馈BUG
程序版本: FineUI v4.2.2.1
浏览器: Chrome 
BUG截图:
BUG地址: -

页面代码如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm3.aspx.cs" Inherits="WebApp.test.WebForm3" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
        <fageManager runat="server"/>
         <f:TabStrip ID="TabStrip1" Width="950px" Height="350px" ShowBorder="true" ActiveTabIndex="0"
            runat="server">
            <Tabs>

            </Tabs>
        </f:TabStrip>

        <br>
        <f:Button runat="server" ID="btn1" Text="获取tab个数"></f:Button>
    </form>
</body>
</html>

后台:
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Aspose.Slides;
using FineUI;

namespace WebApp.test
{
    public partial class WebForm3 : System.Web.UI.Page
    {
      
protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                DataTable dt = GetDataTable();
                FineUI.Tab tab;
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    tab = new FineUI.Tab();
                    tab.ID = "tab" + dt.Rows[ i]["id"].ToString();
                    tab.Title = dt.Rows[ i]["name"].ToString();

                    TabStrip1.Tabs.Add(tab);
                }

                Alert.Show(TabStrip1.Tabs.Count.ToString());
                //TabStrip1.ActiveTabIndex = 0;
            }
        }

        private DataTable GetDataTable()
        {
            DataTable dt = new DataTable("table_temp");

            dt.Columns.Add("id", typeof(int));
            dt.Columns.Add("name", typeof(string));
            dt.Columns.Add("age", typeof(int));

            DataRow dr = dt.NewRow();
            dr["id"] = 1;
            dr["name"] = "刘德华";
            dr["age"] = 19;
            dt.Rows.Add(dr);

            DataRow dr2 = dt.NewRow();
            dr2["id"] = 2;
            dr2["name"] = "张惠妹";
            dr2["age"] = 20;
            dt.Rows.Add(dr2);

            return dt;
        }

        protected void btn1_OnClick(object sender, EventArgs e)
        {
            Alert.Show(TabStrip1.Tabs.Count.ToString());
        }
    }
}

---------------------
如图:为什么!IsPostBack里面可以获取正确的数字,非IsPostBack里获取到的tab的count都是0

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
沙发
发表于 2015-11-16 10:10:28 | 只看该作者
如果放到 if (!IsPostBack) 中,就只有 页面第一次加载时执行,回发时不执行添加 TAB 操作。所以取到的是 0,这个不是 FineUI 的问题,是 ASP.NET 的运行机制决定了。

我有一篇博客:http://www.cnblogs.com/sanshi/archive/2012/11/19/2776672.html
板凳
 楼主| 发表于 2015-11-16 10:58:41 | 只看该作者
谢谢,明白了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-1 08:39 , Processed in 0.048653 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表