2012-02-16 7 views
1

Ajax呼び出しのデータで.Netサーバー変数とユーザーを使用したいと考えています。Ajaxコールのデータにサーバー変数を渡すJquery/.Net

$.ajax({ 
    url: "get_user_info.aspx", 
    data: "user_id=<%=UserID%>" 
}); 

ただし、上記でObject Expectedエラーが発生します。

UserIDは、C#コードビハインドのint型です。

私はこのような文字列にキャストしようとしている:

var useridstring = <%=UserID%>; 
var mynewstring = useridstring.toString(); 

$.ajax({ 
     url: "get_user_info.aspx", 
     data: {user_id:mynewstring} 
    }); 

それはしかし動作していません。私はここで変数を使って隠れた入力を使うことについての記事を読んだが、上記のようなものがうまくいくならば、その方法を避けることを望んでいる。

+1

第2の場合:1.「useridstring' *と*」の値はどのようなもので、どのように「動作しませんか」。 – Richard

答えて

3

あなたのフィールド名(USER_ID)は、文字列にする必要がある:

var useridstring = '<%=UserID%>'; 


$.ajax({ 
     url: "get_user_info.aspx", 
     data: {'user_id':useridstring} 
    }); 
+1

技術的には、フィールド名は文字列でなくてもかまいません(配列を渡すなど)。しかし、あなたのコードでは、最初の行のために問題が解決されます。<%=UserID%>の引用符がないと、javascriptは文字列ではなく変数としてUserIDを評価しようとします。 – Dave

+0

うーん...まだ動作しません。 <%=UserID%>どこに置いても、私はまだJavascriptエラーObject Expectedを取得します。私がそれを取り出したら、それはうまく動作します。私はそれを入れて、JSはさらに狂ってしまった。 ViewStateで.Net 2.0フレームワークを使用しています。どこにでも矛盾がありますか? – User970008

+0

あなたのHTMLを投稿してください(あなたの.netソースではありません):jsfiddle.net –

0

私は隠されたdiv要素内の変数を置くとjQueryからこのdiv要素の内部テキストを取得します。

var useridstring = $get('myDiv'); 

<div id='myDiv' style="display:none;><%:UserID%></div> 
+0

はい、Diodeusが正しい答えを返しましたが、実際には私の解決策は問題の解決には役立ちません... – enricoariel

関連する問題