我想添加一個只有從數據庫檢索某些東西的參數鏈接。如何<%# Eval() %>並改變日期
這裏是我的代碼:
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();
}
這裏是它給我的數據:
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
這裏是頁面上的評估和演示代碼:
<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>
我想建立鏈接爲<%# Eval("Description") %>
<a href="SupportSummary.aspx?sd="<%# Eval("OrderDate") %>&ed=<%# Eval("OrderDate") //- 1 month %>"><%# Eval("Description") %>
我只需要說明是一個鏈接,如果description = "Technical Support"
。這在使用中繼器時可能嗎?
所以我在這裏尋求的主要事情是:
如何EVAL的OrderDaye並在一個月減。 如何僅在描述=「技術支持」時對描述進行描述。
小鮑比表將會得到你。 – jason
@Jason我不確定你想說什麼。 :) –
他試圖說,你真的打開自己的SQL注入攻擊通過concatonating一個字符串(大概是一個直接從Web窗體?)到您的SQL查詢。另外,我會特別擔心Session [「Distid」]來自哪裏。 ADO.NET確實有參數化的SqlCommands ...使用它們! (這是參考http://xkcd.com/327/) –