【问题标题】:GridView and TextboxesGridView 和文本框
【发布时间】:2011-11-21 20:26:41
【问题描述】:

我有一个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,它可能是从零开始的,所以它应该是 1。

【问题讨论】:

  • 我不希望这听起来很粗鲁,但您已经发布了 69 个问题,并且成为这里的会员已经一年多了。 更好地格式化您的代码示例,以便其他人不必花时间编辑您的问题。
  • Jwiscarson - 我的错!我会继续前进的。谢谢。

标签: asp.net gridview


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-30
    • 2011-11-10
    相关资源
    最近更新 更多