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