<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ralf Eisenreich &#187; ASP.Net</title>
	<atom:link href="http://sqlblog.de/blog/tag/aspnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://sqlblog.de/blog</link>
	<description>SQLBlog.DE &#124; ..things to remember</description>
	<lastBuildDate>Mon, 26 Dec 2011 14:37:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>MSB4019: WebApplication.targets not found</title>
		<link>http://sqlblog.de/blog/2009/03/msb4019-webapplicationtargets-not-found/</link>
		<comments>http://sqlblog.de/blog/2009/03/msb4019-webapplicationtargets-not-found/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 12:32:38 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/?p=405</guid>
		<description><![CDATA[Der Fehler MSB4019: The imported project &#8220;C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets&#8221; was not found. konnte bei mir wie folgt behoben werden: Prüfen, ob...]]></description>
			<content:encoded><![CDATA[<p>Der Fehler</p>
<blockquote><p>MSB4019: The imported project &#8220;C:\Program Files\MSBuild\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplication.targets&#8221; was not found.</p></blockquote>
<p>konnte bei mir wie folgt behoben werden:</p>
<ol>
<li>Prüfen, ob sich unter C:\Program Files\MSBuild\Microsoft\VisualStudio\v<strong>9</strong>.0\WebApplications\Microsoft.WebApplication.targets ein File befindet.</li>
<li>Wenn ja, dann dieses an die erwartete Stelle kopieren. Wenn nicht, dann dieses herunterladen (Google).</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2009/03/msb4019-webapplicationtargets-not-found/feed/</wfw:commentRss>
		<slash:comments>185</slash:comments>
		</item>
		<item>
		<title>ReportViewer: Pass Parameters to Remote Report</title>
		<link>http://sqlblog.de/blog/2008/08/reportviewer-pass-parameters-to-remote-report/</link>
		<comments>http://sqlblog.de/blog/2008/08/reportviewer-pass-parameters-to-remote-report/#comments</comments>
		<pubDate>Wed, 27 Aug 2008 07:13:30 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[ssrs]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/?p=367</guid>
		<description><![CDATA[How to pass parameters to ReportViewer Control displaying a remote report (SSRS): ReportParameter[] parameters = new ReportParameter[2]; protected void Page_Load(object...]]></description>
			<content:encoded><![CDATA[<p>How to pass parameters to ReportViewer Control displaying a remote report (SSRS):</p>
<p><code>ReportParameter[] parameters = new ReportParameter[2];</code></p>
<p><code>protected void Page_Load(object sender, EventArgs e) {<br />
    parameters[0] = new ReportParameter("wave_id", "28");<br />
    parameters[1] = new ReportParameter("mpc_id", "1530");<br />
    ReportViewer1.ServerReport.SetParameters(parameters);<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2008/08/reportviewer-pass-parameters-to-remote-report/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Initiate SSIS packages from ASP.NET Web Applications</title>
		<link>http://sqlblog.de/blog/2007/06/initiate-ssis-packages-from-aspnet-web-applications/</link>
		<comments>http://sqlblog.de/blog/2007/06/initiate-ssis-packages-from-aspnet-web-applications/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 08:59:41 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[ssis]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/index.php/2007/06/18/initiate-ssis-packages-from-aspnet-web-applications/</guid>
		<description><![CDATA[In order to start SSIS packages from ASP.NET web applications you can use a Web Service. Following page shows how...]]></description>
			<content:encoded><![CDATA[<p>In order to start SSIS packages from ASP.NET web applications you can use a Web Service.</p>
<p>Following page shows how to implement this: <a href="http://msdn2.microsoft.com/de-de/library/ms403355.aspx#service" title="SSIS from ASP.NET">Running packages programmatically on the server by using a Web service or remote component</a><span id="_ctl0_MainContent_PostFlatView"></span><span></span>.<br />
What you should know about running SSIS packages from ASP.NET is that there is a problem with the threads SSIS processes use.</p>
<p>Even <a href="http://msdn2.microsoft.com/en-us/library/xh507fc5(VS.71).aspx" title="Impersonation">Impersonation</a> does not work successfully. The impersonation applies to the calling thread only, but SSIS creates additional threads in order to be able to perform multiple steps simultanously. Unfortunately, the impersonation context is not passed to these additional threads, so any data base access occurs under process user context, not under impersonated context.</p>
<p>So it is better to execute SSIS package outside of ASP.NET process, e.g. using DTEXEC or Agent Job (Agent proxies are convinient if you want to execute under specific credentials).</p>
<p><u>Important</u>:<br />
With its default settings for authentication and authorization, a Web service generally does not have sufficient permissions to access SQL Server or the file system to load and execute packages. You may have to assign appropriate permissions to the Web service by configuring its authentication and authorization settings in the web.config file and assigning database and file system permissions as appropriate.</p>
<p><strong>Solution</strong>:</p>
<p><u>IIS 5.0</u>: only solution seems to be assigning Administrator rights to the ASP.NET User</p>
<p><u>IIS 6.0</u>: create new Application Pool with Administrator user context and set the Web Service<br />
using this context in order to initiate SSIS packages</p>
<p>Here is an example Application Configuration for a SSIS &amp; ASP.NET project:</p>
<p><a href="http://sqlblog.de/blog/wp-content/uploads/2007/06/ssis_aspnet.jpg" title="SSIS ASP.NET"><img src="http://sqlblog.de/blog/wp-content/uploads/2007/06/ssis_aspnet.thumbnail.jpg" alt="SSIS ASP.NET" /></a></p>
<p>Following error messages can show that you&#8217;re running into the problem with the SSIS threads:<br />
- package validation failed<br />
- TaskHost validation failed<br />
- cannot access file location<br />
- component xyz validation failed</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/06/initiate-ssis-packages-from-aspnet-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET not working after IIS Installation</title>
		<link>http://sqlblog.de/blog/2007/05/aspnet-not-working-after-iis-installation/</link>
		<comments>http://sqlblog.de/blog/2007/05/aspnet-not-working-after-iis-installation/#comments</comments>
		<pubDate>Fri, 25 May 2007 07:27:54 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[IT]]></category>
		<category><![CDATA[iis]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/index.php/2007/05/25/aspnet-not-working-after-iss-installation/</guid>
		<description><![CDATA[After installing IIS the ASP.NET setup has to be started by using following command: C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i]]></description>
			<content:encoded><![CDATA[<p>After installing IIS the ASP.NET setup has to be started by using following command:</p>
<blockquote><p>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -i</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/05/aspnet-not-working-after-iis-installation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Reports mit ASP.NET und SQL Server 2005: One or more rows contain values violating non-null, unique, or foreign-key constraints</title>
		<link>http://sqlblog.de/blog/2007/03/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/</link>
		<comments>http://sqlblog.de/blog/2007/03/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 07:23:31 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2007/03/01/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/</guid>
		<description><![CDATA[Der Fehler &#8220;An error has occurred during report processing. Exception has been thrown by the target of an invocation. Failed...]]></description>
			<content:encoded><![CDATA[<p>Der Fehler</p>
<blockquote><p>&#8220;An error has occurred during report processing.<br />
Exception has been thrown by the target of an invocation.<br />
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.&#8221;</p></blockquote>
<p>tritt oft auf, wenn in einer ASP.NET-Anwendung lokale Reports verwendet werden, die Daten aus einer SQL-Query von einem DataSet erhalten.</p>
<p>Das Durchforsten verschiedener Foren (beispielsweise <a href="http://forums.microsoft.com/MSDN">MSDN</a>) hat mir leider auch nicht weitergeholfen.</p>
<p>Die Lösung war aber einfach:</p>
<ol>
<li>das DataSet in Visual Studio öffnen</li>
<li>im DataSet eine Spalte heraussuchen (oder erzeugen) die Unique ist (sich also auch als Primary Key eignen würde).</li>
<li>im Eigenschaften-Fenster die Unique-Eigenschaft auf True setzen für diese Spalte.</li>
</ol>
<p><img id="image186" src="http://ralf-eisenreich.de/blog/wp-content/uploads/2007/03/dataseterror.gif" alt="DataSet" /></p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/03/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET: local ReportViewer</title>
		<link>http://sqlblog.de/blog/2006/11/aspnet-local-reportviewer/</link>
		<comments>http://sqlblog.de/blog/2006/11/aspnet-local-reportviewer/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 09:49:46 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[reportviewer]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2006/11/14/aspnet-local-reportviewer/</guid>
		<description><![CDATA[Der lokale ReportViewer und die Verwendung von Parametern Mit Visual Studio 2005 sowie Web Developer Express Studio wird das ReportViewer-Control...]]></description>
			<content:encoded><![CDATA[<p><strong>Der lokale ReportViewer und die Verwendung von Parametern</strong></p>
<p>Mit Visual Studio 2005 sowie Web Developer Express Studio wird das ReportViewer-Control mitgeliefert. Dieses Steuerelement kann in .NET-Anwendungen verwendet werden und unterstützt die Darstellung von Berichten, die in Report Definition Language definiert werden. Außerdem kann der ReportViewer Daten filtern, sortieren, gruppieren oder aggregieren. Die Datenpräsentation kann in Listen, Tabellen, Diagrammen und Matrizen erfolgen. Sogar das Conditional Formatting ist möglich. Besonders hilfreich ist die Möglichkeit, Berichte in verschiedene Formate wie PDF oder Excel zu exportieren.</p>
<p>Ein in eine ASP.NET-Anwendung integrierter Bericht könnte so aussehen:<br />
<a class="imagelink" title="ReportViewer Example" href="http://ralf-eisenreich.de/blog/wp-content/uploads/2006/11/reportviewer-example.png"><img id="image145" src="http://ralf-eisenreich.de/blog/wp-content/uploads/2006/11/reportviewer-example.thumbnail.png" alt="ReportViewer Example" /></a></p>
<p>Die Daten für diese Berichte können von jeder Datenquelle kommen. Die Anwendung in der der ReportViewer eingebettet wird ist für die Bereitstellung der Daten zuständig. Daten müssen dem ReportViewer nur in der Form von ADO.NET DataTables oder einer Sammlung von Business Objekten übergeben werden.</p>
<p><span id="more-143"></span></p>
<p>Hat man auf seinem Server neben dem IIS, ASP.NET auch den ReportServer (eine Erweiterung des SQL-Server 2005) installiert, kann man Remote-Berichte in dieses Steuerelement einbetten, die dann vom ReportServer bereitgestellt und generiert werden. Als Zugabe gibt es einen Wizard, der die Erstellung von Berichten unterstützt und weitere Export-Formate wie TIFF, CSV usw.</p>
<p>Als Alternative bietet sich das Einbetten lokaler Berichte an. Dazu übergibt man dem in der eigenen Anwendung eingebetteten ReportViewer einen lokal abgelegten Bericht. Lokale Berichte tragen die Dateiendung RDLC (Report Definition Language Client-Side).</p>
<p>Besonders hilfreich ist die Verwendung von Parametern, um Daten in einem Bericht eingrenzen zu können. Bei der Verwendung von Remote-Berichten kann man Parameter direkt bei der Erstellung des Berichts definieren. Beim Aufruf wird dann eine Parameter-Maske eingeblendet, die eine Veränderung der Parameter ermöglicht.<br />
Bei der Verwendung lokaler Berichte gibt es diese Parameter-Maske leider nicht. Auch wenn man direkt im Bericht Parameter definiert hat, wird diese Maske nicht eingeblendet. Es macht also keinen Sinn bei lokalen Berichten Parameter zu definieren. Vielmehr ist es hier dann die Aufgabe der Anwendung, die die Daten bereitstellt, eine Filtermöglichkeit bereitzustellen.</p>
<p>In folgende Schritten kann man einen lokalen Bericht in einem ASP.NET-Projekt hinzufügen:</p>
<ul>
<li>Ein Datasets im Verzeichnis App_Code erstellen.<br />
Im Dataset einen TableAdapter hinzufügen, der die gewünschten Daten bereitstellt. In der Abfrage können auch Parameter definiert werden.</li>
<li>Einen Report erstellen im Verzeichnis App-Data.<br />
In Visual Studio kann der Report per Drag and Drop zusammengeklickt werden, wobei das vorher erstellte Dataset in der Toolbox angezeigt wird.</li>
<li>In einer ASP.NET-Seite den ReportViewer hinzufügen und den erstellten Bericht übergeben. Danach muss noch die ObjectDataSource konfiguriert werden, die erstellt wird sobald ein Bericht im ReportViewer ausgewählt wird oder Rebind gewählt wird.</li>
<li>Falls Parameter im Bericht verwendet werden sollen, muss das gewünschte Steuerelement (z.B. eine Textbox oder eine ComboBox) zu der ASP.NET-Seite hinzugefügt werden. In dem Page_Load-Ereignis wird dann folgender Code definiert:</li>
</ul>
<div class="igBar"><span id="lvb-2"><a href="#" onclick="javascript:showPlainTxt('vb-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Visual Basic:</span>
<div id="vb-2">
<div class="vb">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080;">' set default value for the data source</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ObjectDataSource1.<span style="color: #66cc66;">SelectParameters</span>.<span style="color: #66cc66;">Item</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #ff0000;">"month"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #66cc66;">DefaultValue</span> = cboMonth.<span style="color: #66cc66;">SelectedValue</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080;">' show / hide report viewer</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">Dim</span> dv <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">New</span> Data.<span style="color: #66cc66;">DataView</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dv = ObjectDataSource1.<span style="color: #66cc66;">Select</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">If</span> dv.<span style="color: #66cc66;">Table</span>.<span style="color: #66cc66;">Rows</span>.<span style="color: #66cc66;">Count</span>&amp;gt; <span style="color: #cc66cc;color:#800000;">0</span> <span style="color: #b1b100;">Then</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ReportViewer1.<span style="color: #66cc66;">Visible</span> = <span style="color: #b1b100;">True</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">Else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ReportViewer1.<span style="color: #66cc66;">Visible</span> = <span style="color: #b1b100;">False</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080;">' Live-Filter</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">If</span> chkFilter.<span style="color: #66cc66;">Checked</span> = <span style="color: #b1b100;">True</span> <span style="color: #b1b100;">Then</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ObjectDataSource1.<span style="color: #66cc66;">FilterExpression</span> = <span style="color: #b1b100;">String</span>.<span style="color: #b1b100;">Format</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #ff0000;">"(month = '{0}')"</span>, cboYear.<span style="color: #66cc66;">SelectedValue</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">Else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ObjectDataSource1.<span style="color: #66cc66;">FilterExpression</span> = <span style="color: #ff0000;">""</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ReportViewer1.<span style="color: #66cc66;">LocalReport</span>.<span style="color: #66cc66;">Refresh</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Bei der Verwendung von Parametern bei der Datenabfrage im Dataset wird in der ObjectDataSource (die Datenquelle für den ReportViewer) ein Default-Parameter definiert, der dann an die Select-Anweisung der Abfrage im Dataset übergeben wird.<br />
Möchte man von einem Steuerelement Daten übergeben, kann auch auf diesem Weg erfolgen.<br />
Mit Hilfe des DataView-Elements wird überprüft, ob die ObjectDataSource überhaupt Daten zurückgibt, wobei dann je nach Ergebnis der ReportViewer angezeigt wird oder nicht.<br />
Im Beispielcode wurde eine ComboBox für die Auswahl des Monats (cboMonth) verwendet.</p>
<p>Möchte man sozusagen live Daten Filtern, kann dies über die FilterExpression in der ObjectDataSource erfolgen. Dazu werden zunächst alle Daten im Dataset geladen und später in der ObjectDataSource vor der Ãœbergabe an den ReportViewer gefiltert. bei dieser Methode müssen keine Parameter in der Select-Anweisung definiert werden. Allerdings wird die Abfragedauer höher sein, da immer alle Daten aus der Datenbank geholt werden.<br />
Im Beispielcode wurde eine ComboBox fÃ¼r die Auswahl des Jahrs (cboYear) verwendet.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/11/aspnet-local-reportviewer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ASP.NET: Grid confirm delete</title>
		<link>http://sqlblog.de/blog/2006/11/aspnet-grid-confirm-delete/</link>
		<comments>http://sqlblog.de/blog/2006/11/aspnet-grid-confirm-delete/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 08:39:41 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[delete]]></category>
		<category><![CDATA[gridview]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2006/11/14/aspnet-grid-confirm-delete/</guid>
		<description><![CDATA[Merke: Um das Löschen eines Eintrags in einem GridView-Control bestätigen zu lassen, müssen vorher unter Edit Columns alle CommandField-Elemente manuell...]]></description>
			<content:encoded><![CDATA[<p>Merke: Um das Löschen eines Eintrags in einem GridView-Control bestätigen zu lassen, müssen vorher unter <em>Edit Columns</em> alle <em>CommandField-Elemente</em> manuell zum GridView hinzugefügt werden und danach das Delete-Element in ein Template-Field konvertiert werden. Nun ist es möglich diesem Element die Eigenschaft <code>OnClientClick</code> zu übergeben.</p>
<p>Da kommt dann einfach das rein:</p>
<p><code>OnClientClick="return confirm('Are you sure to delete this element?');"</code></p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/11/aspnet-grid-confirm-delete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

