Hi William,

I have added 'type="button"' to each generated button element and I hope 
that it will ease XSLTForms use with ASP.Net.

It would be great if there was a section in the XSLTForms WikiBook 
(http://en.wikibooks.org/wiki/XSLTForms) about ASP.Net!

Thanks!

-Alain

Le 16/12/2011 22:11, William David Velasquez a écrit :
> Hi XForms fans!
>
> I just saved tons of work using XForms instead of WebForms in a .NET
> project I´m currently working.
>
> It's pretty easy to include an XForms in a ASP.NET page using XSLTForms
> and the asp:Xml Control for a server side transform. This line does the
> trick:
>
> <asp:Xml ID="Xml1" runat="server" DocumentSource="~/myform.xforms"
> TransformSource="~/xsltforms/xsltforms.xsl" EnableViewState="False"
>   ></asp:Xml>
>
> And to process the submission with DOM, two lines do the work:
>
> <%@ Page Language="C#"  %>
> <%
> System.Xml.XmlDocument doc = new System.Xml.XmlDocument();
> doc.Load(Request.InputStream);
>
> // process your xml here....
>
> %>
>
> There is just two things to keep in mind:
>
> 1. You need the latest version of XSLTForms from the repository (I
> tested with rev 521). Previous versions don´t work with .NET
> transformation engine.
>
> 2. ASP.NET WebForms wraps all the controls in the page with<form
>   >...</form>  so when the Xml Control renders the xhtml for the XForm,
> clicking in the xf:triggers post the form submission (an undesirable
> behavior) because they are rendered as<button>  with the default
> type=submit.
>
> There are to workarounds:
> 1. Move the<asp:Xml>  outside the<form runat="server">  tag in the aspx
> page,
> 2. When that isn't possible (for example, when you use MasterPages),
> make a little modification in xsltforms.xsl to add the atributte
> type="button" when triggers are rendered. This is done in this template
> (line 1141 in rev 521):
>
> <xsl:template match="xforms:trigger|xforms:submit" ...
>
> Below is the generation of the<button>  tag (line 1162 in rev 521):
>
> <button>
>     <xsl:copy-of select="$innerbody"/>
> </button>
>
> You can add the attribute this way:
>
> <button>
>     <xsl:attribute name="type">button</xsl:attribute>
>     <xsl:copy-of select="$innerbody"/>
> </button>
>
> I know monsieur Alain kindly will include this change in a future
> release ;-)
>
> I'm getting mixed reaactions from my co-workers (most of them are MS
> fans), so I asked them to write a form using the normal aspnet way to
> calculate an invoice, allowing users to add details lines, sum totals,
> taxes, etc. They had to write more than 50 tricky lines of code, with
> events handlers, javascript and a lot of Googling. Then I showed it with
> XForms: five xf:bind and two xf:trigger for custom logic
>
> No need to say they are starting to get convinced.
>
> Merry Christmas,
>
>
> William Velasquez
>
> ------------------------------------------------------------------------------
> Learn Windows Azure Live!  Tuesday, Dec 13, 2011
> Microsoft is holding a special Learn Windows Azure training event for
> developers. It will provide a great way to learn Windows Azure and what it
> provides. You can attend the event by watching it streamed LIVE online.
> Learn more at http://p.sf.net/sfu/ms-windowsazure
> _______________________________________________
> Xsltforms-support mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/xsltforms-support


------------------------------------------------------------------------------
Learn Windows Azure Live!  Tuesday, Dec 13, 2011
Microsoft is holding a special Learn Windows Azure training event for 
developers. It will provide a great way to learn Windows Azure and what it 
provides. You can attend the event by watching it streamed LIVE online.  
Learn more at http://p.sf.net/sfu/ms-windowsazure
_______________________________________________
Xsltforms-support mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xsltforms-support

Reply via email to