1

visible = "false" のこのフィールドがあり、バックエンドの cs ページからアクセスできますが、jquery でこのコントロールにアクセスするにはどうすればよいですか? 私は少しコードが役立つかもしれません..

<tr>
  <td class="TDCaption" style="text-align: left">
    <asp:Label ID="lblMsg" runat="server" EnableViewState="False" ForeColor="#CC0000"></asp:Label>
    <div class="DivStyleWithScroll" style="width: 100%; overflow: scroll; height: 250px;">
      <asp:GridView ID="grdReport" runat="server" AutoGenerateColumns="False"
      DataKeyNames="CustCode" ShowFooter="True" EmptyDataText="No record found"
      PageSize="50" CssClass="mGrid" onrowdatabound="grdReport_RowDataBound">
        <Columns>
          <asp:TemplateField Visible="false">
              <ItemTemplate>
                  <asp:Label ID="lblCustCodes" runat="server" Text='<%# Eval("CustCode") %>' CssClass="grdCustName"></asp:Label>
              </ItemTemplate>
          </asp:TemplateField>
          <%--other columns--%>

jクエリは

 $('#<%=btnCompare.ClientID%>').click(function () {
            if ($(':checkbox:checked').size() == 0) {
            }
            else {
                custList = $(':checkbox:checked').map(function () { return $(this).closest('tr').find('.grdCustName').text() }).get();
                alert(custList);
            }
    });
4

3 に答える 3

2

設定.Visible = falseすると、コントロールが HTML にレンダリングされなくなり、jQuery は単純にそれを見つけることができなくなると思います。

代わりに、コード ビハインドの場合は、次を使用してみてください...

ctrl.Style("display") = "none"

または、マークアップで、コントロールで次の属性を使用してみてください...

style="display:none"
于 2012-08-23T10:26:30.617 に答える
0

Visible が false の場合、コントロールはクライアントに渡されていないため、javascript/jquery から直接アクセスすることはできません。単にそこにないだけです。コントロールの値をいくつかに入れてから、hidden fieldそれにアクセスできます。フロントエンドには表示されないためです。Hiddenfieldsソースでのみ表示されHTMLます。

于 2012-08-23T10:27:42.307 に答える
0

Label.ForeColor = System.Drawing.Color.Transparentコードビハインドで

次に、ラベルVisibletrue

于 2015-06-05T11:15:32.600 に答える