ASPX

From no name for this wiki
Revision as of 21:47, 24 January 2009 by Claude (talk | contribs) (Scriptlets)
Jump to: navigation, search

ASPX Samples

Ein Hello World

Mono:

  • 1. Inhalt in eine Datei mit dem Namen HelloWorld.aspx kopieren.
  • 2. xsp2 im Verzeichnis aufstarten, wo sich diese Datei befindet.
  • 3. Folgende URL im Browser eingeben: http://127.0.0.1:8080/HelloWorld.aspx
<%@ Page Language="C#" AutoEventWireup="true"  %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<script language="C#" runat="server">

    
    
 void ButtonClicked(Object Src, EventArgs E) {
     this.submitbutton.BackColor = System.Drawing.Color.Red;
     this.labelMessage.Text = this.text.Text;
     this.labelMessage.ForeColor = System.Drawing.Color.Pink;           
 }

</script>


<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    
    <asp:Label ID="labelMessage" runat="server" Text="Label"></asp:Label>        
    <hr />
    <asp:Label ID="labelInsertText" runat="server" Text="Write a Text:"></asp:Label>
    <asp:TextBox ID="text" runat="server"></asp:TextBox>
    <asp:Button ID="submitbutton" runat="server" Text="Press me" OnClick="ButtonClicked" />
    </form>
</body>
</html>

Request Parameter auslesen

Bei einer URL http://localhost:49622/HelloWorld/HelloWorld.aspx?myparam=Hehe wuerde das Label den Text Hehe bekommen.

<script language="C#" runat="server">

 void Page_Load(Object Sender, EventArgs e)
 {    
       this.labelMessage.Text = Request.QueryString["myparam"];        
 }

</script>

Doku fuer Request siehe HttpRequest

Namespaces importieren

Am Anfang der Datei:

<%@ Page Language="C#" %>
<%@ import Namespace="System.Threading" %>
<%@ import Namespace="System.IO" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

</script>
<html></html>


Code behind

Code in separate Dateien auslagern. Die Klasse muss eine Partielle Klasse sein und von Page erben:

using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Drawing;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        this.Button1.BackColor = Color.Red;
        string text = this.Category.Text;
        Console.WriteLine(text);
    }
}

In der ASPX Seite folgende Direktive einfuegen. In dem Inhertis Attribut wird der Klassenname angegeben.

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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

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

           Category:  <asp:dropdownlist id="Category" runat=server>
                         <asp:listitem >psychology</asp:listitem>
                         <asp:listitem >business</asp:listitem>
                         <asp:listitem >popular_comp</asp:listitem>
                      </asp:dropdownlist>        

           <asp:textbox id="Name" runat="server"/>

      

           <asp:button ID="Button1" text="Lookup" runat="server" onclick="Button1_Click"/>


    </form>
</body>
</html>

Scriptlets

Scriptlets, wie in JSPs:

<html>
<body>
<% for(int i=0; i<10;i++){ %>
  Hello World
  <hr/>
<% } %>
</body>
</html>