ASP.NET2.0中的GRIDVIEW控件在使用TemplateField中的LinkButton时如何在RowCommand事件中找到当前行index的方法
ASP.NET2.0中的GRIDVIEW控件真是非常奇怪,不知道MS是怎么考虑的,在GRIDVIEW里,行索引被放在了CommandArgument里面,而不是像DataGrid那样可以利用this.MyDataGrid.DataKeys[e.Item.ItemIndex].ToString()方便的取出主键值,同时我们注意到,如果使用默认的CommandField,<asp:CommandField ShowDeleteButton="True" ShowEditButton="True" />
则可以在RowCommand中使用如下代码取出行号:
protected void GridVie...
建立模板标签系统应用程序
建立模板标签系统应用程序只需几个步骤. 注意:以下步骤假设使用了新的SleeK例子应用程序(这个例子可以在www.phpmvc.net上找到).
修改应用程序的boot.ini文件
应用程序的boot.ini文件包含需要得到PHP.MVC框架的信息.boot.ini文件通常位于应用程序的"WEB-INF"目录下.为了设置应用程序使用模板标签类,我们需要在boot.ini文件中定义一些属性.
TagActionDispatcher类
TagActionDispatcher是ActionDispatcher类的标准实现.为了让框架能读取TagActionDispatcher类,我们为变量$appServerRootDir设置值为'TagAc...
页面布局
在这个单元中我们将看到如何使用模板标签系统构造一个标准的模板页面。这个例子我们使用了一个简单的HTML页面布局,请看下图:
这个页面有多个标准单元组成,就像页面设计者和开发者熟悉的那样.这个页面的主体由3个包含的单元组成:页眉,页内容主体和页脚.我们现在就看看这些单元并且了解如何使用模板标签系统来实现.
页主体
下面的代码单元显示的是主体:The Page Body Layout 1<@ saleMonth = data.getValueBean('SALE_MONTH') @><@ saleTitle = data.getValueBean('SALE_TITLE') ...
PHP.MVC标签语法
在基本的介绍之后,我们现在就可以来看看模板标签系统的语法. 在看具体的标签之前,我们应该定义什么作为我们的标签.为了写一个标签,我们使用<@ ... @>标签结点.左标签(<@)和右标签(@>)是默认的标签.如果必要的话,这些标签我们能够在phpmvc-config.xml中重新定义. 模板标签系统现在支持以下3种标签:包含指令,声明和表达式.我们现在来看看这些指令.
包含指令
包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉: &...
The Php.MVC Tag Action Dispatcher
TagActionDispatcher是一个标准的ActionDispatcher类的实现,它支持访问基本模板标签.TagActionDispatcher类支持相同的ActionObjects集合和ViewResourcesConfig属性作为默认的ActionDispatcher.TagActionDispatcher类能被用在带有或没有带有模板标签系统上,尽管由于它的额外处理会造成小的性能下降. 模板标签库是PHP.MVC框架结构的子系统.模板标签库联合TagActionDispatcher一起工作来支持一些简单的模板标签. 下面的图表显示了PHP.MVC模板标签系统的总揽.左边展示的是模板标签系统的程序流程.右边是TagA...
PHP.MVC的模板标签系统(PhpMVC_Tags)现在提供了3种类型的标签:包含指令,声明和表达式.
包含指令能让我们将内容分隔为许多模块,比如:页眉,页脚或者内容.包含的页面可以是HTML,或者其他标签模板页.据个例子,下面的包含指令能用来包含一个页眉:
<@ include 'pageHeader.ssp' @>
声明允许我们在模板种声明一个页面级别的变量,或者甚至其他包含页面.一个声明看起来像以下代码:
<@ salesAreaID = "Central District" @>
表达式标...
<?php // // +----------------------------------------------------------------------+ // | PHP version > 4.3.4 & 5.x | // +----------------------------------------------------------------------+ // | Copyright (c) 2006-2007 toplee.com &n...
PHP下的模板解决方案很多,主流的有 PHPLIB、IT、Flexy、Smarty等,这些模板引擎各有所长,很多人推崇Smarty,根据个人使用感受来看,Smarty有以下特点: 1、模板里面支持语法丰富,方便“程序员”(注意)在模板中实现丰富灵活的逻辑; 2、使用“预编译模板”的概念,能使性能得到一定提升; 3、支持Cache功能。 这几个特点我认为是最核心的部分,另外Smarty还提到所谓的模板FrameWork,个人认为价值不大,并非一个完整的PHP FrameWork,所以并不推崇。而就前面Smarty的几个特点来说,反倒成为我不选择Smarty的原因之一。 1、作为模板最大的作用就是MVC框架支持,Smarty的模板语法过分丰富,导...
关于PHP的模板的确是一个说起来容易做起来麻烦的事情。随便一数大概有20种以上的选择,光pear里面就包含了5中不同的模板,实在让人头疼。
千万不要人云亦云的说这个好那个不好,选择模板之前最好先应该搞清楚模板的真正目的是什么? 简单地说,模板的核心目的就是一个 team work。主要的作用方式有两种:
1、分离HTML和PHP使网页设计师和PHP程序员合作更加愉快。
2、分离显示逻辑和事物逻辑,使得核心事务逻辑的变更和应用程序的扩展更加容易和灵活,也就是说使得程序员之间合作更加愉快。(这一点经常被人们忽视或者误解,总以为把PHP从HTML中弄出去就叫分离显示逻辑和事物逻辑了,如果这样当初又何苦让PHP和html ...
如何使用PHP来快速地编写代码,模版似乎成了唯一的选择。但是一个PHPer最终应该坚持使用模版,放弃模版,还是使用自己的模版? 以下想法是对这次活动的总结,并不只属于PHPChina的观点,而是属于所有PHPer的想法: “模板这东西,其实最重要的是适合自己的项目需求,而不是适合自己的习惯.比如一个企业的宣传网站,访问量不大,更新量也不大,用什么都一样,甚至不用,直接 PHP+HTML写可能速度最快.也没什么不可.但是如果是一个新闻系统,或者是内容发布系统.两者这样,就非常有必要用到模板这一技术.因为他们都有一个共通的地方,就是有一类页面要用到同一个样式的页面设计.而根据实际情况,比如访问量的...
固定长度的流文件中存储的数据在各数据域间没有分界符。通常固定长度流文件的布局显示为一系列字段列,每列有一个起始点和指示列位置的长度值。这样使得开发人员可以通过文件记录分析和分离各列。通常情况下分析路径很难编码为应用,这意味着文件布局的每次改变或者需要包含一个新文件时,你不得不改变源代码和重新编译。我最近开发的一个项目要求做大量不同的文件布局分析。文件布局将会经常改变还可能增加新的内容,也有可能需要包含新文件。我需要的是一个分析库,利用它可以引入任何数量的不同文件布局,而不需要分析员改变源代码。解决方案通过对这个问题的分析我想出了利用XML的映像文件来构建一个分析文件布局的分析库。这个分析库将加...