2009-06-23 4 views
0

私はjQueryの新機能で、簡単な質問があります。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? 
+0

あなたはどんな種類のサーバーサイドクラスについて話していますか? – cgp

+0

(彼はタグを追加した人ではなかったので、私は確信していました) – cgp

答えて

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> 
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

+0

+1サーバー側オブジェクトのClientIDプロパティを使用する必要があります。さもなければレンダリングされたHTMLは役に立たないでしょう。 –

2

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

<%# MyStaticClass.MyProperty %> 

は、コンテナ(ページ)でDataBindを呼び出す場合にのみ機能します。何が最も可能性が高いの後、次の構文です:また、あなたを与えるだろう

<%= MyStaticClass.MyProperty %> 

があなたのページ/制御部材へのアクセス

としては、すでにあなたが本当にJavaへのそれらの値を割り当てる必要があります述べた
<%= this.MyPageProperty %> 

スクリプト変数を作成し、それらの変数をJS関数に渡します。

関連する問題