Creare Nuove Pagine in Tustena

Modificata il mercoledì, 23 settembre 2009 15:48 da roberto — Categorizzata come: Non Categorizzata

In Tustena è possibile creare nuove pagine, per aggiungere funzionalità mancanti, o per intergrare il Sistema con Programmi esterni.

Per creare una nuova Pagina, per prima cosa bisogna aggiungere un file .aspx (il nome è indifferente) in una cartella qualunque, facendo attenzione di inserire nella registrazione della pagina, che sia una Pagina di tipo CodeFile ovvero non compilata, in questo modo:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="Custom_MyPage" %>

Una volta creato anche il file .cs, bisogna far ereditare la classe da G, e nel Page_Load nella pagina eseguire la funzione Login(), che verifica se l'utente che sta eseguendo l'operazione è "loggato" o meno all'interno di Tustena CRM

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Digita.Tustena;

public partial class Custom_MyPage : G
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Login())
            Response.Redirect("~/login.aspx");
    }
}


Successivamente all'interno della pagina aspx bisogna ricordarsi di dichiarare il body e l'head della pagina come runat="server", per avere così, in automatico la pagina con il menu, con i css e con gli script javascript di base, già precaricati.

<html xmlns="http://www.w3.org/1999/xhtml" runat="server">
<head runat="server" id="head">
</head>
<body id="body" runat="server">
<form id="form1" runat="server">
</form>
</body>
</html>

Ora possiamo iniziare a scrivere la nostra pagina, e se necessario, possiamo utilizzare i controlli di Tustena, che sono registrati con il TagPrefix twc. Quindi ad esempio possiamo avere il componente che permette di selezionare le date semplicemente scrivendo all'interno della pagine il controllo

<twc:DateBox ID="SelectDate" runat="server"></twc:DateBox>

Qui sotto un esempio di come potrebbe avere una struttura "base" di una pagina Custom di Tustena

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="MyPage.aspx.cs" Inherits="Custom_MyPage" %>

<html xmlns="http://www.w3.org/1999/xhtml" runat="server">
<head runat="server" id="head">
    <script type="text/javascript" src="/js/dynabox.js"></script>
</head>
<body id="body" runat="server">
    <form id="form1" runat="server">
    <table width="100%" border="0" cellspacing="0" id="MainTable">
        <tr>
            <td width="140" class="SideBorderLinked" valign="top">
                <twc:SideBarContainer ID="SideBarContainer1" runat="server">
                </twc:SideBarContainer>
            </td>
            <td valign="top" height="100%" class="pageStyle">
                <h1>
                    Hello World
                </h1>
                <div>
                    <twc:DateBox ID="SelectDate" runat="server"></twc:DateBox>
                </div>
                <div>
                    <twc:CompanyBox ID="SelectCompany" runat="server" Display="BreakSpace" width="200"></twc:CompanyBox>
                </div>
                <div>
                    <twc:LeadBox  ID="SelectLead" runat="server" Display="BreakSpace" width="200"></twc:LeadBox>
                </div>
                <div>
                    <twc:ContactBox ID="SelectContact" runat="server" Display="BreakSpace" width="200"></twc:ContactBox>
                </div>
                <div>
                    <twc:CatalogBox ID="SelectCatalog" runat="server" Display="BreakSpace" width="200"></twc:CatalogBox>
                </div>
            </td>
        </tr>
    </table>
    </form>
</body>
</html>

@@ using System; using System.Collections.Generic; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using Digita.Tustena;

public partial class Custom_MyPage : G { protected void Page_Load(object sender, EventArgs e) { if (!Login()) Response.Redirect("~/login.aspx");

if (!Page.IsPostBack) { SelectDate.DateTimeBox = DateTime.Now; SelectCompany.CompanyId = "1"; SelectContact.ContactId = "1"; } } }