EP开发规范及常见问题Word下载.docx
《EP开发规范及常见问题Word下载.docx》由会员分享,可在线阅读,更多相关《EP开发规范及常见问题Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
4.EP工作流配置8
4.1配置Proxy8
4.2生成Proxy10
4.3调用Proxy10
5.EP开发常见错误集锦及解决方案11
5.1内容无法显示,请联系管理员11
5.2表不包含ID为”65342”的索引或一个AxGridView没有编辑和删除选项11
5.3工作流配置错误12
1.EP开发规范
前沿:
一个清楚的控件命名,往往可以给开发者带来一个事半功倍的效率(尤其在写代码时,就便于点出规范命名的控件),同时也便于后者的维护。
因此控件的良好命名至关重要。
1.1EP控件命名
a.AxDataSource-》ds_”TableName”
b.AxGridView->
grv_+“TableName”
c.AxFieldGroud->
fg_+”TableName”
d.AxForm->
fr_+”TableName”
(这块待大家一起讨论,最好定下)
1.2EP多页面呈现规范
1.2.1多页面呈现
a.依照EP门户标准做法,一个模块分多个页面呈现。
如下图
1:
列表数据展现页面
2:
新建页面
3:
编辑页面
4:
查看具体关联表信息页面
2.EP开发步骤
2.1在AOT创建表和相应的数据集(DataSet)
如图:
2.2新建AxWebProject项目
a.首先打开VS08开发工具->
新建网站->
选择DynamicsAxWebProject模板,填写好项目名称(最好符合规范,比如说IWS_项目名称或IWS_您的英文名)
2.其次记得改原始项目名称,取名规范
1.先选好模板
注意事项:
在Server08R2环境+AX09+VS08环境下,会碰到模板丢失情况,这块解决办法之前也提过了,相应大家都清楚了。
b.其次添加新项-》选择用户控件(.ascx)-》填写规范的控件名称
(一般以前缀+TableName,如:
IWS_TravelTable)
此处注意点在于,当你重命名用户控件名称时,一定记得要打开源码页和代码页,分别手动去更改名称,如下图标红色框的地方的就应该改成IWS_TravelTable(做过ASPX的朋友应该都非常清楚)
c.再次转到界面设计器,从左侧Ax工具栏拖拽一个AxDataSource,到界面,这是完成一个EP用户控件的基础,也是必做的步骤,之后可以依据需求放置AxGridView或AxForm,AxGroup等组成符合您需求的功能模块。
d.最后界面功能开发完成后,右键点击用户控件选择AddToAot,此时控件就被添加到AOT->
WEB->
PageFile->
UserControl目录下,相应的在AOT->
Content->
Manage节点下也会生成一个名称一样的文件
2.3拷贝用户控件文件
a.记得拷贝项目中的用户控件和相应的代码页文件到"
C:
\ProgramFiles\CommonFiles\MicrosoftShared\WebServerExtensions\12\TEMPLATE\LAYOUTS\ep"
2.4新建EP页面
a.打开EP门户,预先选择页面要存放的站点(比如说你的页面应该属于销售模块的,这时你就先选择销售站点,这点主要便于页面路径的定位,得养成这个习惯),然后点击网站管理->
创建->
选择webpart页面,输入页面名称,下面页面库记得选择EnterprisePortal页面库。
此处一般为了便于区分,页面的名称直接跟控件名称一致,然后前面最好加个前缀。
如我们公司->
IWS_
b.打开页面,点击添加webpat->
选择用户控件->
在右侧编辑栏选择刚才新建的用户控件,然后角色依据页面制作功能的需求选择,总共分成Provider,Consumer,None。
Provider与Consumer的关系为1:
N。
2.5新建WebMenuItem
a.进入AOT->
Web->
MenuItem->
Url,次节点有两种类型一个为Url另一个为Action。
新建一个Url,点击属性设置label标签,设置Url(此处填写1.3步骤,所创建的EP页面的相对路径一般为:
ShopFloorControl/Enterprise%20Portal/IWS_AbsenceCalendar.aspx)
2.6导入成页面文件
a.右键点击1.4步骤所创建的webmenuitem–>
导入,这时在PageFile就可以看到跟用户控件所创建的一样名称的文件。
2.7配置页面及用户控件标题
a.配置web部件显示标题,打开Web->
WebContent->
Managed,选择与空间一样名称的文件,创建label
如图:
下方标红色的地方
实现效果就是控件左上方多了个文本标题如图
b.配置页面标题的地方,选择Web->
WebFiles->
PageDefinitions,找到相应的文件,在PageTitle创建一个标签。
实现效果如图
3.EP模块迁移
3.1文件整理
EP文件迁移到其他服务器环境的时候,记得将控件模块所对应的文件都整理起来在导出到入,然后在新环境的时候,点击web->
webfiles->
PageDefinitions节点下的相应文件-》右击导入。
需整合的文件包括:
UserControls
Managed
Web->
PageDefnitions
WebMenuItem->
Url
4.EP工作流配置
4.1配置Proxy
a.进入Web->
WebFiles->
StaticFile,打开Proxy,写入Table上的是否启用工作流方法
如下:
/table:
tablename
/method:
table.method
b.配置完AOT上的Proxy之后,记得到选项:
工具->
开发工具->
Web开发->
代理,点击开发网站下的生成。
注:
如过在web开发没看到代理(因为没买相应的许可证),直接到AOT->
Form找到SysDevelopmentProxyDialog打开即可。
这样刚在proxy配置的表的一些相应方法就会及时更新到Proxy文件夹内(其路径依据个人安装时所选的路径)
4.2生成Proxy
打开项目文件,右键点击App_Code,选择GenerateProxies,会生成一个Proxies文件夹,可以看到在AOT配置的一个方法会在这生成相对应的一个类文件。
注意事项:
在配置完AOT上的Proxy记得及时的到web开发->
代理点击生成,这样文件就可以及时生成到4.1所介绍的那个文件目录下。
VS项目上的Proxies也就可以及时的得到同步更新。
4.3调用Proxy
在代码也上记得声明此句
调用AOT表上的方法
5.EP开发常见错误集锦及解决方案
5.1内容无法显示,请联系管理员
错误原因:
VS08及以上版本集成了SQLlinq查询功能,因此当你新建web页面或用户控件时,自动帮你在代码页声明此句,挂到EP,编译原因提示此错误。
解决办法:
进入代码页去掉UsingSystem.linq声明.【如果代码页已经去掉此句还报此错,又找不到直接原因,这是进入事件查看器查看,有时可能是表的关系错误,或者一些新增字段没及时加载过来,具体问题具体分析】
5.2表不包含ID为”65342”的索引或一个AxGridView没有编辑和删除选项
表中未建立索引
首先先在表中创建一个索引,已表主键为索引字段(datakey),从表一般就以RecId作为索引字段。
然后查看表的属性设置PrimaryIndexClusterIndex,之后从回EP页面刷新即可。
(这里也提醒下,平时开发习惯记得把表上的TitleField1,TitleField2(这两个主要在窗体上会作为标题显示,还有当你lookup没设置时,默认页会以这两个作为下拉显示值),SecrurityKey(安全键)填上相应的值)
5.3工作流配置错误
详见第4大步,是否有正确配置下来。