gpt4 book ai didi

javascript - 将数组从代码隐藏例程传递到 javascript

转载 作者:太空宇宙 更新时间:2023-11-04 16:12:39 24 4
gpt4 key购买 nike

我有一个 C# 代码隐藏过程,它从数据库中的多个字段读取值并将每个字段放入其自己的一维数组中。现在我需要获取这些值并将它们传递到客户端,以便我可以在热敏打印机上打印它们。
在我的代码隐藏中,我有:

        Public String[] PayType = new string[DetailLines];
Public String[] PayQuantity = new string[DetailLines];
Public String[] PayAmount = new string[DetailLines]'
Public String Location;

Protected Void PrintReceipt()
*Miscellaneous code down to this point not shown.*
**DetailLines comes from record count**
Location = "CA";
PayType = new string[DetailLines];
PayQuantity = new string[DetailLines];
PayAmount = new string[DetailLines]'
foreach (DataRow row in dtPOSdetail.Rows)
{
PayType[LineNumber] = row["fldDescription"].ToString();
PayQuantity[LineNumber] = row["fldQuantity"].ToString();
PayAmount[LineNumber] = string.Format("{0:C}",
Decimal.Parse(row["fldAmount"].ToString()));
LineNumber++;
}

在我的 JavaScript 中,我有:

var getLocation = '<%= Location %>'
var getPayType = '<%= PayType %>'
var getPayQuantity = '<%= PayQuntity %>'
var getAmount = '<%= PayAmount %>'

我希望能够循环遍历打印机设置中的三个数组来建立行项目。

request += builder.createTextElement({ data: "Location: " + GetLocation + "\\n" });
for (int i = 0; i < PayType.Length; i++)
{
request += builder.createTextElement({ data: PayType[i] + "\\x9" + PayQuantity[i] + "\\x9" + " " + PayAmount[i] + "\\n"});
}

我可以打印出位置,但每个数组的值显示为“System.String[]”。我读过的大多数主题都令人困惑,显示数组被加载为 'var myarray("apples", "oranges", "peaches")。我还看到过有关序列化数组的主题,但这也不清楚。任何有关如何完成我所展示的内容的示例将不胜感激。谢谢查尔斯

最佳答案

发生这种情况是因为 Razor(或您的 veiw 引擎)正在调用 ToString()被注入(inject)到 View 脚本中的对象的方法。

使用字符串数组类型,会产生您所看到的内容: System.String[] .

由于 javascript 变量需要 JSON 格式的对象来实例化变量,因此您可以简单地将数组序列化为 JSON,如下所示:

var getPayType = <%= Newtonsoft.Json.JsonConvert.SerializeObject(PayType) %>;

关于javascript - 将数组从代码隐藏例程传递到 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41336486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com