Web-Oberfläche mittels ASP.NET
Zunächst legen wir das gewünschte Layout der Webseite in einer
aspx-Datei fest, z.B.:
BookStore.aspx
<%@ Page language="C#" Inherits="BookStorePage" src="BookStore.aspx.cs" %>
<html>
<body>
<form Runat="server">
<asp:TextBox ID="isbn" Runat="server"/>
<asp:Button ID ="search" Text="Suchen" OnClick="Search" Runat="server"/>
<hr>
<table border="0">
<tr>
<td>Autor:</td>
<td><asp:Label id="author" Runat="server"/>
</tr>
<tr>
<td>Titel:</td>
<td><asp:Label id="title" Runat="server"/>
</tr>
<tr>
<td>Preis:</td>
<td><asp:Label id="price" Runat="server"/>
</tr>
</table>
</form>
</body>
</html>
|
Die Programmlogik schreiben wir in einer Hintergrundcode-Datei, z.B.:
BookStore.aspx.cs
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
public class BookStorePage: Page {
protected TextBox isbn;
protected Button search;
protected Label author;
protected Label title;
protected Label price;
public void Search(object sender, EventArgs e) {
BookStoreService store = new BookStoreService();
if (store.Available(isbn.Text)) {
author.Text = store.Author(isbn.Text);
title.Text = store.Title(isbn.Text);
price.Text = store.Price(isbn.Text).ToString() + " Euro";
} else {
author.Text = title.Text = price.Text = "";
}
}
}
|
Da wir im Hintergrundcode auf den Web-Service BookStoreService aus Aufgabe 2 zugreifen,
müssen wir wie dort beschrieben mittels wsdl.exe eine Proxy-Klasse
des Web-Service erzeugen
wsdl /out:BookStoreService.cs http://dotnet.jku.at/csbuch/solutions/24/BookStoreService.asmx?WSDL
und diese Klasse in ein DLL-Assembly übersetzen, das im Unterverzeichnis bin
unseres virtuellen Verzeichnisses stehen muss:
csc /target:library /out:bin\BookStoreService.dll BookStoreService.cs
Nun können wir unseren Browser auf unsere aspx-Datei richten, z.B.:
http://dotnet.jku.at/csbuch/solutions/24/BookStore.aspx
und sehen die gewünschte Webseite.
|