我想添加一个只有从数据库检索某些东西的参数链接。如何<%# 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/) –