0

1 つのページがあり、そのページは 1 つの .aspx ファイルと 1 つの .ascx ファイルで構成されています。

.ascx ファイルで、以下に示すようにテキスト ボックスを宣言しました。

<asp:TextBox runat="server" ID="OrderName" MaxLength="50"  Key="OrderNameText" meta:resourcekey="OrderNameResource1">

今、この Textbox の ID を JavaScript から取得したいので、 $("#OrderName") を試しましたが、うまくいきません。

firebug のコードを確認すると、このテキストボックスの ID が「ctl00_ctl00_contentPlaceHolderBody_contentPlaceHolderBelowFramedContainer_ucOrderName_OrderName」であることがわかりました。いくつかの単語が追加されています。

では、この場合、ID を取得するにはどうすればよいでしょうか。

ありがとう

ジェイソン

4

5 に答える 5

1

ClientIDを介してアクセスするか、ASP.Net コントロールを宣言するときにClientIDModeを指定できます。static

  alert($("#'<%=OrderName.ClientID %>'").val());
于 2013-02-06T06:35:12.850 に答える
0

ユーザー コントロールで、次のように C# を使用してパブリック プロパティを作成します。

public string OrderNameClientID { get { return this.OrderName.ClientID; } }

現在のページの JS では、次のようにアクセスします。

var ID = document.getElementById('<%= this.ucOrderName.OrderNameClientID %>');

または、単に次のようなことを行うこともできます。

var ID = document.getElementById('<%= this.ucOrderName %>_OrderName');
于 2013-02-06T06:37:44.320 に答える
0

コントロールの正確な ID が必要な場合は、これを試してください。

var $ID = $this.find('#<%= OrderName.ClientID %>');
于 2013-02-06T06:37:46.580 に答える
0

Visual Studio 2010 を使用している場合は、次のように使用します

<asp:TextBox runat="server" ID="OrderName" ClientIDMode="Static" MaxLength="50"  Key="OrderNameText" meta:resourcekey="OrderNameResource1"></asp:TextBox>

このように使用すると、テキストボックスIDは以下のように変更されません

"ctl00_ctl00_contentPlaceHolderBody_contentPlaceHolderBelowFramedContainer_ucOrderName_OrderName"

そのため、テキストボックスで ClientIDMode="Static" を使用し、jquery では以下のように使用する必要があります

$("#OrderName")

これが役立つと思います。

于 2013-02-06T06:43:11.923 に答える
0

以下のコードを使用してください

 var journalTextBoxId = '<%= this.OrderName.ClientID %>';
 var journalId = $("#" + journalTextBoxId).val();
于 2013-02-06T06:34:47.750 に答える