FineUI 官方论坛

标题: (已解决)动态生成的from利用cache提高运行效率 [打印本页]

作者: 凤凰涅盘ing    时间: 2013-9-20 08:11
标题: (已解决)动态生成的from利用cache提高运行效率
本帖最后由 凤凰涅盘ing 于 2013-9-22 23:42 编辑

FineUI和浏览器版本:3.31 ,IE 9


问题描述:
我是直接修改的官方示例的。结果代码可以正常运行,可是生成的客户端网页没有生成相应的控件。


测试代码或示例:

protected void Page_Init(object sender, EventArgs e)
        {
            // 创建一个 FormRow 控件并添加到 Form2
            FormRow row = new FormRow();
            row.ID = "rowUser";
            Form2.Rows.Add(row);
            if (this.Session["aaa"]==null)
            {
                TextBox tbxUser = new TextBox();
                tbxUser.ID = "tbxUserName";
                tbxUser.Text = "";
                tbxUser.Label = "用户名";
                tbxUser.ShowLabel = true;
                tbxUser.ShowRedStar = true;
                tbxUser.Required = true;
                row.Items.Add(tbxUser);
                this.Session["aaa"] = tbxUser;
            }
            else
            {
//在实际应用中,因为要生成大量的控件,所以控件都放在session中,以提高效率
                TextBox tbxUse = this.Session["aaa"] as TextBox;
                tbxUse.Text = "aaaa";
                 row.Items.Add(tbxUse);
            }

            DropDownList ddlGender = new DropDownList();
            ddlGender.ID = "ddlGender";
            ddlGender.Label = "性别(自动回发)";
            ddlGender.Items.Add("男", "0");
            ddlGender.Items.Add("女", "1");
            ddlGender.SelectedIndex = 0;
            ddlGender.AutoPostBack = true;
            ddlGender.SelectedIndexChanged += new EventHandler(ddlGender_SelectedIndexChanged);
            row.Items.Add(ddlGender);
        }


截图:


[attach]3198[/attach]
[attach]3199[/attach]


作者: 凤凰涅盘ing    时间: 2013-9-20 10:07
[attach]3200[/attach]
看了一下客户端的源码,也有生成~~

作者: Tiger    时间: 2013-9-20 10:22
我试了一下,可以呀
作者: erp8@live.cn    时间: 2013-9-20 12:34
凤凰涅盘 这个思路比较经典,建议三石老大做成DEMO,
可以解决很多实际中运用的问题.
--应用为王!
作者: erp8@live.cn    时间: 2013-9-20 12:41
动态生成From,这功能demo做出功德无量!
作者: 凤凰涅盘ing    时间: 2013-9-20 12:50
Tiger 发表于 2013-9-20 10:22
我试了一下,可以呀

页面第一次load时没有问题,但是第二次时就不行了,你把代码改成我上边给出的样子,一样的方式试一下就知道了。
作者: Tiger    时间: 2013-9-20 16:13
哥们,好像是Session的支持问题吧,能否不放在Session里?我现在用我自己封装的 cache可以搞定这个

作者: 凤凰涅盘ing    时间: 2013-9-22 12:17
Tiger 发表于 2013-9-20 16:13
哥们,好像是Session的支持问题吧,能否不放在Session里?我现在用我自己封装的 cache可以搞定这个
...

放到cache中就可以了?~早知道直接放到cache中了~~~我本来想先用Session做试验,如果成功了,再放到cache中的。
谢谢直指点~~~~

看来cache和session还是有差别的~~
我这,如果启动Cache的话,程序调试退出时,要好半天,你那有这个种情况吗?
作者: 凤凰涅盘ing    时间: 2013-9-22 13:50
[attach]3212[/attach]
搞定了~~

作者: Tiger    时间: 2013-9-22 18:31
我自己写的  Cache,那时不会用dotnet的,所以我有一些清理的机制(可以自定义过期的时效)




欢迎光临 FineUI 官方论坛 (https://fineui.com/BBS/) Powered by Discuz! X3.4