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">


        注意看上面的onchange="InfoView_UpdateXMLField(this, 'InfoViewForm1'),此处功能是在表单项改变时时时更新网页里的xml数据岛。
        替换之后生成aspx文件,生成的表单元素都是客户端控件<input ...,而不是大家所期望的<asp:TextBox>这样的服务器端控件.
        之后所有的数据操作都是用javascript结合xml数据岛完成的.(注意看下图的三个xml数据岛)
    
       
     填写的数据提交到什么地方?答案是xml文件。

     总体看来,Infoview基本上实现了从infopath到aspx的转换,不过Infoview不能定义表单提交后的处理,提交后
生成的是xml文件,如果你要指定数据提交到数据库,这个转换需要自己动手去实现.

    
  

posted on 2006-06-12 17:05  Dragon-China  阅读(1206)  评论(3编辑  收藏  举报