GridView和Textboxes

时间:2011-11-21 20:26:42

标签: asp.net gridview

我有一个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.

1 个答案:

答案 0 :(得分:3)

CommadArgument是string类型;因此,如果要在CommandArgument属性中传递多个参数,则必须提出某种约定来执行此操作,例如,连接参数并用逗号分隔它们,然后将它们拆分为后面的代码。例如:

CommandArgument='<%# string.Format("{0},{1}",Eval("SOME_ID"),Eval("OTHER_PROPERTY")) %>'