更改数量值后尝试单击表单上的按钮时出现以下错误。密钥和数量已正确设置(正如我在调试过程中看到的那样)。
我不知道为什么我收到错误....
The value "1" is not of type "System.Int32" and cannot be used in this generic collection.
Parameter name: value
我在网上查看了这条消息,但我读到的任何内容都无法解释问题所在。
我的字典对象设置如下。请注意,我尝试将类型更改为字符串,字符串,并且出现(上)相同的消息,除了代替"System.Int32"
, "System.String"
。
PageData["ClientSelectedQtyRows"] = new Dictionary<string, Int32>();
这是我在屏幕上更改数量值时触发的 JS:
function UpdateQtySelection(key, qty) {
if (key) {
var dict = PageDataClient.Get("ClientSelectedQtyRows");
dict[key] = qty;
PageDataClient.Set("ClientSelectedQtyRows", dict);
}
}
在调试期间,字典对象在我更改数量后包含正确的值。
?dict[key]
1
?PageDataClient.Get("ClientSelectedQtyRows")
{...}
[prototype]: {...}
[41769]: 1
[prototype]: []
打印按钮的标记如下:
<td style="padding-right: 10px;">
<dx:ASPxButton ID="btnPrint" Text="Print" runat="server" ClientInstanceName="btnPrintClient" CausesValidation="false" ValidationGroup="CS" Theme="PlasticBlue" AutoPostBack="false" Enabled="false">
<ClientSideEvents Click="function (s,e) { PerformCallback('1:'); btnPrintClient.disabled = true; btnSearchClient.disabled = true; }" />
</dx:ASPxButton>
</td>