我有一个gridview,我可以渲染文本框,输入值并将其保存到数据库中。
<asp:TemplateField>
<ItemTemplate>
<asp:TextBox ID="txtSomething" runat="server" Text='<%# Bind("SOME_COL") %>'></asp:TextBox>
</ItemTemplate>
<ItemStyle Width="10%" />
</asp:TemplateField>
<asp:TemplateField HeaderStyle-ForeColor="white"
HeaderStyle-HorizontalAlign="Left" ItemStyle-Width="5%">
<ItemTemplate>
<asp:LinkButton Id="btnSomething" runat="server"
CommandArgument='<%# Eval("SOME_ID") %>'
CommandName="WaitPeriodSave" CausesValidation="false"
>Save</asp:LinkButton>
命令参数是SOME_ID,它可能包含值4,但它可能是gridview上的第2行。
我可以在命令参数中传递多个值吗?如果是,怎么样? 另外,有没有办法确定所选的行号在上面的场景中它是2,它可能是零,所以它应该是1.
答案 0 :(得分:3)
CommadArgument是string类型;因此,如果要在CommandArgument属性中传递多个参数,则必须提出某种约定来执行此操作,例如,连接参数并用逗号分隔它们,然后将它们拆分为后面的代码。例如:
CommandArgument='<%# string.Format("{0},{1}",Eval("SOME_ID"),Eval("OTHER_PROPERTY")) %>'