Zunächst muss .NET RIA Service July installiert sein. Ausserdem brauchen wir eine Silverlight Business Application.
Die nächsten Schritte nur im Eilverfahren, weil nicht Gegenstand des Blogs. Datenmodell mit z.B. Entity Framework das Orte anzeigt, Domain Service Class (DomainService1) mit der Methode getOrte.
Dann im Web Verzeichnis ASP.NET anlegen. Sicherstellen das die beiden DLL’S Microsoft.Web.Extensions.dll und System.Web.DomainServices.WebControls.dll in der Version 99.0.0.0 im Bin Verzeichnis liegen. Eine Referenz im Projekt darauf erstellen.
Dann erhält man ein neues ASP.NET Server Control DomainDatsource. In meinem Beispiel auf der ADC erzeuge ich damit eine Excel File mit Hilfe eines Repeater Controls.
<%@ Page Language="vb" AutoEventWireup="false" CodeBehind="WebForm1.aspx.vb" Inherits="BusinessApplication1.Web.WebForm1" %>
<%@ Register TagPrefix="asp" Namespace="System.Web.DomainServices.WebControls" Assembly="System.Web.DomainServices.WebControls" %>
<!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">
</head>
<body>
<% Response.ContentType = "application/vnd.ms-excel"%>
<form id="form1" runat="server">
<asp:DomainDataSource runat="server" ID="ds1"
DomainServiceTypeName="BusinessApplication1.Web.DomainService1"
SelectMethod="GetOrte" />
<table>
<asp:Repeater ID="Repeater1" runat="server" DataSourceID="ds1">
<ItemTemplate>
<tr>
<td>
<%#Eval("plz")%>
</td><td>
<%#Eval("Ort")%>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</table>
</form>
</body>
</html>