0

私は1つのaspページを作成しています。そのページで私は以下のような1つのプロパティを定義しました

.cs

private long _sequence;
  public long Sequence { get { return _sequence; } set { _sequence = value; } }

ここで、jsファイルでこのプロパティ値を取得したいと思います。実際には.aspxで取得できますが、.jsファイルで取得したいです。

これが私のjs関数と私が試している.aspxコードですが、プロパティ値が見つかりませんでした

.aspx

<asp:Button ID="btnShowSimple" runat="server" Text="Notes Dialog" OnClientClick="NotesDialog(this)" />

.js

function NotesDialog(ctr) {
    var ControlName = document.getElementById(ctr.id);
    $("#btnShowSimple").click(function (e) {
        ShowDialog(false);
        e.preventDefault();
        LoadData("GetNotes", '"sequence":<%= this.Sequence %>');
    });
}

足りないものはありますか?誰かがそれについて何か考えを持っているなら、私を助けてください..私は2日以来この問題に直面しています..

4

3 に答える 3

2

ファイルはサーバー上の静的jsファイルです。<%= %>これらのタグは使用できません。aspxページで設定し、ファイルで使用するグローバル javascript 変数を介してプロパティを渡すことができjsます。

すなわち

.aspx

  <script type="text/javascript">
      myProp = <%= this.Sequence %>;
  </script>

.js

function NotesDialog(ctr) {
    var ControlName = document.getElementById(ctr.id);
    $("#btnShowSimple").click(function (e) {
        ShowDialog(false);
        e.preventDefault();
        LoadData("GetNotes", '"sequence":' + myProp);
    });
}
于 2012-06-27T06:53:01.757 に答える
1

いいえ、asp.net ランタイムによって処理されないため、JS ファイルでこれを行うことはできません。あなたができる最善のことは、変数を宣言して、次のようaspxに使用することです。js

aspx:

var _seq="<%= this.Sequence %>";

JS:

LoadData("GetNotes", '"sequence":' + _seq); //USE ASPX VARIABLE
于 2012-06-27T06:54:32.960 に答える
0

You should try to separate you JavaScript code from you HTML.

Instead och creating a asp:Button use an HTML button and set an data-attribute you can retrive.

<button type="button" id="btnShowSimple" data-sequence="<%= this.Sequence %>">Notes Dialog</button>

そして、JavaScriptファイルで、データシーケンスを取得するボタンにクリックイベントをバインドします。

/** Put this in the bottom of you javascript file **/
(function (window) {
    var document = window.document,
        view;

view = {
    /**
    * Invoked in jQuery event context
    * @param e
    */
    bindClickEvent : function (e) {
        $("#btnShowSimple").click(function (e) {
            e.preventDefault();
            var sequence = $(this).data('sequence');

            ShowDialog(false);

            LoadData("GetNotes", '"sequence":' + sequence);

        });
    }
}

$(document).ready(view.bindClickEvent);

} (window));

現在のコードから、クリックasp:Buttonすると、新しいクリックイベントをバインドするだけで、決して実行されません。

また、他の回答のいくつかから、JavaScript で任意のグローバル変数を宣言しないでください。

于 2012-06-27T07:01:05.437 に答える