I am trying to add a link with parameters only if certain things are retrieved from the database.
Here is my code:
protected void GetOrderLines (string OrderID)
{
string query;
query = "SELECT ol.ItemId, ol.Amount, ol.Quantity, i.description, ol.RetailPrice, o.OrderDate";
query += " FROM Distributor d";
query += " INNER JOIN Orders o";
query += " ON o.DistID = d.DistID";
query += " INNER JOIN Orderlines ol";
query += " ON ol.OrderID = o.OrderID";
query += " INNER JOIN Items i";
query += " ON i.InventoryID = ol.ItemID";
query += " WHERE ol.OrderID = " + OrderID;
query += " AND ol.GroupItem = 0";
query += " AND d.DistID = " + Session[ "Distid" ];
DataTable data = GeneralFunctions.GetData( query );
RepeaterOrderlineInfo.DataSource = data;
RepeaterOrderlineInfo.DataBind();
}
Here is the data it gives me:
ItemId Amount Quantity description RetailPrice OrderDate
6015 660 1 Item 1 660 5/1/2012
6021 199.2 332 Item 2 0.6 5/1/2012
6018 150 6 Item 3 25 5/1/2012
9000 85 4 Technical Support 21.25 5/1/2012
8000 125 4 Custom Programming and Misc. Fees 31.25 5/1/2012
Here is the Eval code on the page:
<asp:Repeater ID="RepeaterOrderlineInfo" runat="server">
<ItemTemplate>
<tr>
<td>
<%# Eval("Itemid") %>
</td>
<td>
<%# Eval("description") %>
</td>
<td align="right">
<%# Eval("RetailPrice", "{0:C}") %>
</td>
<td align="right">
<%# Eval("Quantity") %>
</td>
<td align="right">
<%# Eval( "Amount", "{0:C}" )%>
</td>
</tr>
</ItemTemplate>
</asp:Repeater>
I am trying to build a link for the <%# Eval("Description") %>
<a href="SupportSummary.aspx?sd="<%# Eval("OrderDate") %>&ed=<%# Eval("OrderDate") //- 1 month %>"><%# Eval("Description") %>
I only need the description to be a link if the description = "Technical Support". Is this possible when using a repeater?
So the main things I am seeking here are:
How to Eval the OrderDaye and subtract one month.
How to do a condition on the description only if it = “Technical Support”.
If you add a method to your code-behind, you can call it like this in your repeater:
The method would be something like this: