设为首页 收藏本站
查看: 1143|回复: 0

[经验分享] 我的模板分析引擎类PHP的.net开发方法--功能介绍篇

[复制链接]

尚未签到

发表于 2015-8-28 14:14:09 | 显示全部楼层 |阅读模式
从一开始接触asp.net我就不领微软的情,对其提供和包装的各大控件给人们带来的方便性视而不见,一直想实现自己的模板分析方案,但工作中一直是别人安排我做什么我就得做什么,根本没时间做自己想做的事情,所以自己的模板方案迟迟未能实现。不过最近因为项目的需要,我终于有机会实现它了。

以下是我实现的模板文件Skin-test.html

DSC0000.gif {repeater rptTables}
    {headerTemplate}
        <div id="miniBox">
            <div class="hd">
                <div class="l">1</div>
                <div class="title">{repeater rptTables2}{headerTemplate}55555{/headerTemplate}{/repeater}</div>
                <div class="r">3</div>
            </div>
    {/headerTemplate}
    {itemTemplate}
            <div class="it1">
                <div class="l">
                    <input id="{eval TableId}" type="checkbox" />
                    <a href="EditTable.aspx?tableid={eval TableId}">{eval TableName}</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid={eval TableId}">{lang Edit}</a>
                    <a href="EditTable.aspx?tableid={eval TableId}">{lang Delete}</a>
                </div>
            </div>
    {/itemTemplate}
    {alternatingItemTemplate}
            <div class="it2">
                <div class="l">
                    <input id="{eval TableId}" type="checkbox" />
                    <a href="EditTable.aspx?tableid={eval TableId}">{eval TableName}</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid={eval TableId}">{lang Edit}</a>
                    <a href="EditTable.aspx?tableid={eval TableId}">{lang Delete}</a>
                </div>
            </div>
    {/alternatingItemTemplate}
    {footerTemplate}
            <div class="ft">
                <select id="Select1">
                    <option value="">{lang Action}</option>
                    <option value="">{lang Delete}</option>
                    <option value="">{lang Build}</option>
                </select>
            </div>
            {repeater rptTables3}{headerTemplate}55555{/headerTemplate}{itemTemplate}{eval TableId}{/itemTemplate}{/repeater}
        </div>
    {/footerTemplate}
{/repeater}
以下是分析这个模板的代码:

PageSetting p = ResourceManager.GetPageSetting(context.Request.CurrentExecutionFilePath);

                    string txt = Skins.GetSkin(p.SkinFile);

                    IUI.ITemplate tmp = UIFactory.DataAccess.CreateTemplate();
                    tmp.InstantiateIn(ref txt);

                    if (tmp.ContainsKey("rptTables"))
DSC0001.gif DSC0002.gif                      DSC0003.gif {
DSC0004.gif                         Repeater rpt = (Repeater)tmp.FindControl("rptTables");
                        Repeater rpt2 = (Repeater)tmp.FindControl("rptTables2");
                        Repeater rpt3 = (Repeater)tmp.FindControl("rptTables3");
                        List<TableInfo> ls = new List<TableInfo>();

                        for (int i = 0; i < 10; i++)
DSC0005.gif DSC0006.gif                         {
                            TableInfo _tblInfo = new TableInfo();
                            _tblInfo.TableId = Guid.NewGuid();
                            _tblInfo.TableName = string.Format("table {0}", i);
                            ls.Add(_tblInfo);
DSC0007.gif                         }

                        rpt.DataSource = ls;
                        rpt.DataBind();
                        rpt2.DataSource = ls;
                        rpt2.DataBind();
                        rpt3.DataSource = ls;
                        rpt3.DataBind();
DSC0008.gif                     }

                    context.Response.Write(tmp.Render());  以下是执行的结果:


<div id="miniBox">
            <div class="hd">
                <div class="l">1</div>
                <div class="title">55555</div>
                <div class="r">3</div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="8f035f73-a025-4aaa-a9ab-9f6d475ee762" type="checkbox" />
                    <a href="EditTable.aspx?tableid=8f035f73-a025-4aaa-a9ab-9f6d475ee762">table 0</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=8f035f73-a025-4aaa-a9ab-9f6d475ee762">edit</a>
                    <a href="EditTable.aspx?tableid=8f035f73-a025-4aaa-a9ab-9f6d475ee762">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="6571e446-7c50-48a7-8195-167cddab6966" type="checkbox" />
                    <a href="EditTable.aspx?tableid=6571e446-7c50-48a7-8195-167cddab6966">table 1</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=6571e446-7c50-48a7-8195-167cddab6966">edit</a>
                    <a href="EditTable.aspx?tableid=6571e446-7c50-48a7-8195-167cddab6966">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="944a4cbc-3442-4d12-9c84-95f31d463e32" type="checkbox" />
                    <a href="EditTable.aspx?tableid=944a4cbc-3442-4d12-9c84-95f31d463e32">table 2</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=944a4cbc-3442-4d12-9c84-95f31d463e32">edit</a>
                    <a href="EditTable.aspx?tableid=944a4cbc-3442-4d12-9c84-95f31d463e32">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="879b8f82-0d97-4c44-8996-9eb3ab676481" type="checkbox" />
                    <a href="EditTable.aspx?tableid=879b8f82-0d97-4c44-8996-9eb3ab676481">table 3</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=879b8f82-0d97-4c44-8996-9eb3ab676481">edit</a>
                    <a href="EditTable.aspx?tableid=879b8f82-0d97-4c44-8996-9eb3ab676481">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="03452077-97b0-4236-b316-4856e3afde71" type="checkbox" />
                    <a href="EditTable.aspx?tableid=03452077-97b0-4236-b316-4856e3afde71">table 4</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=03452077-97b0-4236-b316-4856e3afde71">edit</a>
                    <a href="EditTable.aspx?tableid=03452077-97b0-4236-b316-4856e3afde71">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="277c9626-1667-4f94-8e9a-b4f94d7e4843" type="checkbox" />
                    <a href="EditTable.aspx?tableid=277c9626-1667-4f94-8e9a-b4f94d7e4843">table 5</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=277c9626-1667-4f94-8e9a-b4f94d7e4843">edit</a>
                    <a href="EditTable.aspx?tableid=277c9626-1667-4f94-8e9a-b4f94d7e4843">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="afe35db0-d07a-44fe-88be-db5ded717916" type="checkbox" />
                    <a href="EditTable.aspx?tableid=afe35db0-d07a-44fe-88be-db5ded717916">table 6</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=afe35db0-d07a-44fe-88be-db5ded717916">edit</a>
                    <a href="EditTable.aspx?tableid=afe35db0-d07a-44fe-88be-db5ded717916">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="3a2f445e-44c4-4144-84da-b08e2fb90d3b" type="checkbox" />
                    <a href="EditTable.aspx?tableid=3a2f445e-44c4-4144-84da-b08e2fb90d3b">table 7</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=3a2f445e-44c4-4144-84da-b08e2fb90d3b">edit</a>
                    <a href="EditTable.aspx?tableid=3a2f445e-44c4-4144-84da-b08e2fb90d3b">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="8d555e36-c4c7-4219-8f67-8305db9ae8d2" type="checkbox" />
                    <a href="EditTable.aspx?tableid=8d555e36-c4c7-4219-8f67-8305db9ae8d2">table 8</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=8d555e36-c4c7-4219-8f67-8305db9ae8d2">edit</a>
                    <a href="EditTable.aspx?tableid=8d555e36-c4c7-4219-8f67-8305db9ae8d2">delete</a>
                </div>
            </div>
   
            <div class="it1">
                <div class="l">
                    <input id="0edd6e3e-d1fc-4842-9832-d2e037f770ea" type="checkbox" />
                    <a href="EditTable.aspx?tableid=0edd6e3e-d1fc-4842-9832-d2e037f770ea">table 9</a>
                </div>
                <div class="r">
                    <a href="EditTable.aspx?tableid=0edd6e3e-d1fc-4842-9832-d2e037f770ea">edit</a>
                    <a href="EditTable.aspx?tableid=0edd6e3e-d1fc-4842-9832-d2e037f770ea">delete</a>
                </div>
            </div>
   
            <div class="ft">
                <select id="Select1">
                    <option value="">action</option>
                    <option value="">delete</option>
                    <option value="">Build</option>
                </select>
            </div>
            555558f035f73-a025-4aaa-a9ab-9f6d475ee7626571e446-7c50-48a7-8195-167cddab6966944a4cbc-3442-4d12-9c84-95f31d463e32879b8f82-0d97-4c44-8996-9eb3ab67648103452077-97b0-4236-b316-4856e3afde71277c9626-1667-4f94-8e9a-b4f94d7e4843afe35db0-d07a-44fe-88be-db5ded7179163a2f445e-44c4-4144-84da-b08e2fb90d3b8d555e36-c4c7-4219-8f67-8305db9ae8d20edd6e3e-d1fc-4842-9832-d2e037f770ea
        </div>  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105622-1-1.html 上篇帖子: [php类]多极类别树的生成(无限级select,二级管理菜单,无限级meizz的树) 下篇帖子: 我的模板分析引擎类PHP的.net开发方法--功能实现篇
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

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