<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<html>
<head>
<Title>Binding a Variable Select Query to a DataList Control ( SqlClient )</Title>
<link rel="stylesheet" href="/shared/netdemos.css">
<style>
.desc { font-size:9pt; padding:10;
border:2px inset; background-color:beige }
</style>
<script language="C#" runat="server" src="fetchData_sql.cs" />
<script runat="server">
protected void Page_Load ( object src, EventArgs e ) {
if ( !IsPostBack ) {
string query = "SELECT DISTINCT Subject FROM Books";
mySelect.DataSource = fetchReader ( query );
mySelect.DataBind ( );
}
}
public void getTitles ( object src, EventArgs e ) {
string query = "SELECT * FROM Books WHERE Subject = '" + mySelect.Value + "' AND Price IS NOT NULL";
myDataList.DataSource = fetchReader ( query );
myDataList.DataBind ( );
}
</script>
</head>
<body>
<div class="header"><h2>Binding a <b>Variable Select Query</b> to a DataList Control</h2></div>
<!-- #include virtual="~/shared/viewsrc_top.inc" -->
<hr size=1 width=92%>
<center>
<form runat="server">
<p>Select a Subject category:
<select id="mySelect" datatextfield="Subject" runat="server" />
<input type=submit value="Get Titles"
onServerClick="getTitles" runat="server" />
<p>
<asp:datalist id="myDataList" runat="server"
width=90% repeatcolumns=2
enableviewstate=false
itemstyle-width=50%
itemstyle-verticalalign="top">
<itemtemplate>
<table cellpadding=10>
<tr valign="top">
<td width=120>
<a href='<%# Eval ( "URL" ) %>' target="books">
<img align="top" alt="Click for details" border=0
src='<%# Eval ( "TitleID", "/shared/books/{0}.jpg" ) %>'></a>
</td>
<td>
<b>Title:</b> <%# Eval ( "Title" ) %><br>
<b>Category:</b> <%# Eval ( "Subject" ) %><br>
<b>Publisher:</b> <%# Eval ( "Publisher" ) %><br>
<b>Price:</b> <%# Eval ( "Price", "{0:c2}" ) %>
<p class="desc"><%# Eval ( "Shortdesc" ) %>
</td>
</tr>
</table>
</itemtemplate>
</asp:datalist>
</form>
</center>
<% if ( Request.Form [ "mySelect" ] != null ) {%>
<hr size=1 width=92%>
<!-- #include virtual="~/shared/viewsrc.inc" -->
<% } %>
</body>
</html>