Infoview表单转换研究(infopath--->aspx)
InfoView的功能是把微软infoPath表单转换成aspx表单,功能简单实用。

安装之后打开http://localhost/InfoView/ 来试用。
一:上传xsn文件。

二:开始转换,提示转换成功。
三:浏览,填写提交表单了。

是否感觉挺不可思议的?
我大致看了一下它的实现方式。
第一步上传过程中把infoPath解包,然后用字符串替换的方法把infopath里出现的表单元素:
plaintext等替换成网页用的表单元素,替换过程中加上infoview的一些标识,和数据验证等,供以后数据处理使用。
例:infopath中的文本框类型PlainText被替换成下面的形式。
<INPUT id=InfoView_ID26 onclick="InfoView_OnClick(this, 'InfoViewForm1');" onchange="InfoView_UpdateXMLField(this, 'InfoViewForm1');" xd:infoViewID="ID26" xd:binding="ID26" xd:xctname="PlainText" xd:CtrlId="submittedByEmailAddressPrimary_1">

安装之后打开http://localhost/InfoView/ 来试用。
一:上传xsn文件。

二:开始转换,提示转换成功。
三:浏览,填写提交表单了。

是否感觉挺不可思议的?
我大致看了一下它的实现方式。
第一步上传过程中把infoPath解包,然后用字符串替换的方法把infopath里出现的表单元素:
plaintext等替换成网页用的表单元素,替换过程中加上infoview的一些标识,和数据验证等,供以后数据处理使用。
例:infopath中的文本框类型PlainText被替换成下面的形式。
注意看上面的onchange="InfoView_UpdateXMLField(this, 'InfoViewForm1'),此处功能是在表单项改变时时时更新网页里的xml数据岛。
替换之后生成aspx文件,生成的表单元素都是客户端控件<input ...,而不是大家所期望的<asp:TextBox>这样的服务器端控件.
之后所有的数据操作都是用javascript结合xml数据岛完成的.(注意看下图的三个xml数据岛)

填写的数据提交到什么地方?答案是xml文件。
总体看来,infoview基本上实现了从infopath到aspx的转换,不过infoview不能定义表单提交后的处理,提交后
生成的是xml文件,如果你要指定数据提交到数据库,这个转换需要自己动手去实现.
infoview何处去下载? infoview dot net 官方网站上可以申请试用版, 如果不想安装, 也可以注册个账户,体验一下在线版.
如果不愿去官方申请的话,我借别人的空间提供了一个三十天的试用版,顺手写了个试用版的keygen也放在里面.就当是第一次发帖的小礼品吧. 如果大家认为Infoview在项目中有用,还是去支持一把正版吧.
试用版下载
.net编程,javascript编程小弟是新手,以后请大家多指教.
浙公网安备 33010602011771号