javascript - 在 razor 上循环一条 SQL 语句
问题描述
尝试创建一个“购物车”,其中包含用户选择的项目,但在表单完成后,“购物车”中的所有数据都插入一行
例子:
OrderID StockID
Or002 IT01,IT02,IT03
如何将数据分别分成一行?
预期结果:
OrderID StockID
Or002 IT01
Or002 IT02
Or002 IT03
这个怎么运作:
- 用户将单击将生成以下 HTML 代码的按钮。
(Javascript)
var cartRowContents = `
<a class="dec" id="dec">-</a>
<input class="quan-num" id="number" name="FQty" value="1"/>
<a class="inc" id="inc">+</a>
<input type="hidden" id="FID" name="FID" value=${id} />
<div class = "rem">REMOVE ITEM</div>`;
名为 FID 的输入携带了用户选择的项目的 ID 的向下传递值;生成的 HTML 代码将插入到表单/购物车中。用户不能添加相同的项目,但可以<input name="FQty">
使用 修改数量(的值)<a id="dec"> and <a id="inc">
。
- 当用户完成订单时,将运行以下代码
(C#)
@functions{
public static String insD(Database db, String query) {
IEnumerable<dynamic> data;
data = db.Query(query); //Executing the Query
return query;
}
}
(ASP.NET 网页)
@{
Database db = Database.Open("geh");
String m_OrderID = "Or002";
if (IsPost) { //if statement when form is submitted
string FID = Request.Form["FID"];
var Qty = Request.Form["FQty"];
String query = "INSERT INTO gah.order VALUES ('" + m_OrderID + "','" + FID + "','" + Qty + "')";
insD(db, query);
}
我试过的:
(ASP.NET 网页)
@{
if (IsPost) {
Database db = Database.Open("geh");
String m_OrderID = "Or002";
for(int i = 0; i < 2 ; i++){
var FID = Request.Form["FID"][i];
var Qty = Request.Form["FQty"][i];
String query = "INSERT INTO gah.orders VALUES ('" + m_OrderID + "','" + FID + "', '" + Qty + "')";
insD(db, query);
}
}
}
导致插入 ID 的第一个字符。
例子:
ID = "DE002"
OrderID StockID
Or002 D
Database Info:
OrderID(PK) varchar(10),
StockID(PK) varchar(10),
Qty int()
解决方案
如果我理解正确,您的购物车将同时包含<input name=FID>
和的多个字段<input name=FQty>
,以便在发布表单时,Request.Form["FID"]
每个字段都是Request.Form["FQty"]
逗号分隔的列表?如果是这样,也许这样的事情会起作用:
var FID = Request.Form["FID"].Split(',');
var FQTY = Request.Form["FQty"].Split(',');
for(int i = 0; i < FID.Length; ++i)
{
String query = "INSERT INTO gah.orders VALUES ('" + m_OrderID + "','" + FID[i] + "', '" + FQTY[i] + "')";
insD(db, query);
}
仅使用您共享的代码有点难以理解,但如果我走在正确的轨道上,请告诉我。
推荐阅读
- c# - 尝试编写只读数据库 sqlite Wpf inno setup
- c# - 带有事件处理程序的 Autofac 单实例
- vb.net - ms-access "Great Than" 或相等查询
- google-bigquery - 从数组中删除空值/空值
- python - 批量归一化导致训练和推理损失之间的巨大差异
- c# - 将所有 POST 请求路由到 1 个接收 POST 正文的 APIController 方法
- c++ - 将数组传递给 lambda 函数
- python - SkLearn - 为什么 LabelEncoder().fit 仅适用于训练数据
- google-cloud-platform - Google Cloud:GKE 的出站 IP 地址
- pgadmin - 如何让 pgAdmin4 的结果网格加载所有结果?