2

助けてください、私は立ち往生しています。グリッドを取得して設定するストアド プロシージャがあります。Command 引数に数値を渡そうとすると、タイトルのとおり未処理の例外が発生します。DBML を見てみましたが、何も表示されません。これが私のコードです:

</asp:TemplateField>
        <asp:BoundField DataField="name"  HeaderText="Player" />
        <asp:BoundField DataField="dsc" HeaderText="Desc." />
        <asp:BoundField DataField="cond" HeaderText="Cond." />
        <asp:BoundField DataField="maker" HeaderText="Make" />
        <asp:BoundField DataField="year" HeaderText="Year" />
        <asp:BoundField DataField="price" HeaderText="Price" DataFormatString="{0:C}"/>      
        <asp:BoundField DataField="qty" HeaderText="Qty." />
        <asp:TemplateField HeaderText="Buy">
            <ItemTemplate>
                <asp:Button ID="Button2" runat="server" Text="Buy" ToolTip="Add to Cart" OnClientClick="GridView1_SelectedIndexChanged" CommandArgument='<% #Eval("name") + "," + Eval("price") + "," + Eval("pic") %>'></asp:Button>
            </ItemTemplate>
        </asp:TemplateField>

コードビハインド:

Dim btn As Button = CType(sender, Button)
Dim commandName As String = btn.CommandName
Dim commandArg As String() = btn.CommandArgument.ToString.Split(",")
Dim argName As String = commandArg(0)
Dim argDsc As String = commandArg(1)
Dim argPrice As String = commandArg(2)
Dim argPic As String = commandArg(3)

前もって感謝します

4

1 に答える 1

0

これPriceはある種の通貨数値形式であるため、ボタンを連結するときに文字列に変換する必要がありますCommandArgument

<asp:Button ... CommandArgument='<% #Eval("name") + "," 
+ Eval("price").ToString() + ","
+ Eval("pic") %>'>
于 2013-10-20T17:24:10.677 に答える