1

私はjQueryを初めて使用するので、簡単な質問があります。

jQueryコードでサーバーサイドクラスを使用したいのですが、これは次のようなものです。

$(document).ready(function() {
var temp = <%# myClass.Id %>;
})

これは可能ですか?もしそうなら、どのように?

どうもありがとうございます

これは、前の質問を次のように洗練した後の質問です。

申し訳ありませんが、私は自分自身をあまりよく説明しなかったと思います...私はクラス名Userを持っています。これは、ビジネスロジックに組み込んだクラスです。

UserProfileという名前のWebページがあり、その中に、現在ログインしているユーザーを公開する次のプロパティがあります。

    public BL.User CurrUser        {                get { return (BL.User)Session["currUser"]; }        }I want to be able to access this User class from my aspx page using Jquery. How do I do that?
4

3 に答える 3

3

データバインディングの構文

<%# MyStaticClass.MyProperty %>

コンテナー (ページ) で DataBind を呼び出す場合にのみ機能します。あなたが求めているのは、おそらく次の構文です。

<%= MyStaticClass.MyProperty %>

これにより、ページ/コントロールメンバーにもアクセスできます

<%= this.MyPageProperty %>

すでに述べたように、実際にはこれらの値を Java スクリプト変数に割り当て、それらの変数を JS 関数に渡す必要があります。

于 2009-06-23T18:39:20.220 に答える
2

これは、JavaScript がソース ファイル (.aspx ファイルなど) に埋め込まれている場合にのみ機能します。

<script type="text/javascript">
    var id = <%# myClass.Id %>; // store as raw value
    var id_string = '<%# myClass.Id %>'; // store in a string
</script>
于 2009-06-23T18:30:16.070 に答える
2

他の人が言ったように、JavaScript が aspx ページにある場合、サーバー タグを使用すると問題なく動作します。

外部スクリプト ファイルに jQuery がある場合は、これを aspx ページに配置できます。

<script type="text/javascript">
var myClass = $('#<%= myClass.ClientID %>');
</script>

次に、外部スクリプトファイルで変数を使用します

$(function() {     
    myClass.click( function() { ... });
});

他のオプションについては、この質問と回答をご覧ください - How to stop ASP.NET from changing ids in order to use jQuery

于 2009-06-23T18:38:06.980 に答える