【问题标题】:Get Text Area Value inside Grid view在网格视图中获取文本区域值
【发布时间】:2012-01-12 14:15:26
【问题描述】:

在 GridView 的 TemplateField 内部,我有一个 HTML-TextArea:

<asp:TemplateField HeaderText="Message">
   <ItemTemplate>
      <textarea id="txtArStatusMsg" cols="20" rows="2" style="width: 99%"></textarea>
   </ItemTemplate>
</asp:TemplateField>

问:如何在 GridView 的 SelectedRow 中读取文本区域的文本?

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

    runat="server" 添加到文本区域并在GridView 的SelectedRow 上调用FindControl("txtArStatusMsg")。 要获取TextAreas 的文本,您需要将其转换为HtmlTextArea 并读取它的Value 属性。

    var text = ((HtmlTextArea)GridView1.SelectedRow.FindControl("txtArStatusMsg")).Value;
    

    【讨论】:

      【解决方案2】:

      在不添加 runat="server" 属性之前,您不能在服务器端使用/访问 html &lt;input/&gt; 标记。最好使用TextBox并设置TextMode=Multiline。

      <asp:TemplateField HeaderText="Message">
         <ItemTemplate>
            <textarea 
                      id="txtArStatusMsg" 
                      cols="20" rows="2" 
                      runat="server"
                      style="width: 99%">
            </textarea>
         </ItemTemplate>
      </asp:TemplateField>
      

       <asp:TemplateField HeaderText="Message">
             <ItemTemplate>
                 <asp:TextBox id="txt1" runat="server" TextMode="Multiline"/>
                 <asp:Button id="btn1" runat="server" CommandName="select"/>
             </ItemTemplate>
          </asp:TemplateField>
      

      在 GridView 的 SelectedIndexChanged 处理程序中编写以下代码,

      //Cells[0] - 0 indicates the 1st cell of selected row.
      TextBox tx=GridView1.SelectedRow.Cells[0].FindControl("txt1") as TextBox;
      

      【讨论】:

      • 我也会试试这个 TextMode="Multiline" 但现在我只能使用 textarea...thnx..
      猜你喜欢
      • 1970-01-01
      • 2019-03-09
      • 1970-01-01
      • 1970-01-01
      • 2011-09-26
      • 2019-07-18
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      相关资源
      最近更新 更多