Hi Yves,
That is not a good example, it doesn't use mojoBasePage and would therefore not blend with the site if you plug it in. I will post a better example soon for VB.NET below.
Really mojoPortal is designed for you to develop features that start with a UserControl (.ascx) not a page, the UserControl can link to supporting pages but really it is not ideal to try to plugin free standing .aspx pages.
It is possible to do it though. You can put the physical page wherever you like on disk assuming it uses inline code instead of a codebehind file. Then you create a page the normal way but set the url to ~/pathtoyourpage.aspx. It will give a warning about pointing to a physical file but it will let you do it. If the page inherits from mojoBaseBage and has the correct content placeholders then it will blend visually with the site.
Here is a better VB.NET example that uses mojoBasePage:
<%@ Page Language="VB" ClassName="VBTest.aspx" Inherits="mojoPortal.Web.mojoBasePage" MasterPageFile="~/App_MasterPages/layout.Master" %>
<%@ Import Namespace="mojoPortal.Business" %>
<%@ Import Namespace="mojoPortal.Business.WebHelpers" %>
<%@ Import Namespace="mojoPortal.Web.Framework" %>
<%@ Import Namespace="mojoPortal.Web.Controls" %>
<%@ Import Namespace="mojoPortal.Web.Editor" %>
<%@ Import Namespace="mojoPortal.Net" %>
<script runat="server">
Sub Page_Load()
litHeading.Text = "My Heading"
TextBox1.Text = "Hello Web"
End Sub
Sub Button1_Click(sender As Object, e As System.EventArgs)
TextBox1.Text = "You clicked the button."
End Sub
</script>
<asp:Content ContentPlaceHolderID="leftContent" ID="MPLeftPane" runat="server" />
<asp:Content ContentPlaceHolderID="mainContent" ID="MPContent" runat="server">
<portal:mojoPanel ID="mp1" runat="server" ArtisteerCssClass="art-Post" RenderArtisteerBlockContentDivs="true">
<mp:CornerRounderTop id="ctop1" runat="server" />
<asp:Panel id="pnl1" runat="server" CssClass="panelwrapper ">
<h2 class="moduletitle"><asp:Literal ID="litHeading" runat="server" /></h2>
<portal:mojoPanel ID="MojoPanel1" runat="server" ArtisteerCssClass="art-PostContent">
<div class="modulecontent">
Your custom form goes here.
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" />
</div>
</portal:mojoPanel>
<div class="cleared"></div>
</asp:Panel>
<mp:CornerRounderBottom id="cbottom1" runat="server" />
</portal:mojoPanel>
</asp:Content>
<asp:Content ContentPlaceHolderID="rightContent" ID="MPRightPane" runat="server" />
<asp:Content ContentPlaceHolderID="pageEditContent" ID="MPPageEdit" runat="server" />
Hope it helps and many thanks for the beers!
Best,
Joe