2016-10-06 26 views
0

ASP.NET変数内でJavaScript変数を使用する方法Razor instructions?Asp.netでJavaScript変数を使用するMVC Razor syntax

例:

function updChart(_IndId) { 

    @foreach (var d in Model.Where(p => p.IndId.Equals(_IndId))) 

... 
} 

私は_IndId変数を使用することはできません。どのようにそれを使用する任意のアイデア?

+0

あなたは、この変数に先となる何をしようとしていますか? – user449689

+0

Divが動作しません。その機能はどこで宣言すべきですか?私のupdChart関数内または外に? – Richasantos

+0

関連:http://stackoverflow.com/q/18508964/215552 –

答えて

1

これはできません。 Razorビューはサーバー上でコンパイルおよび実行され、その結果はHTMLページになり、その後、クライアント(ブラウザ)に戻されます。 JavaScriptはブラウザで実行され、既にサーバーから返されたHTMLページのDOMで作業することができます。

+0

ここで私の選択肢は何ですか? – Richasantos

+0

ページで何かを部分的に更新する必要がある場合は、サーバーにAJAXリクエストを行い、データを取得してページの特定の部分に適用する必要があります。 –

+0

AJAXリクエストを使用します。ここに正しい道が見えます。 – Richasantos

1

JavaScriptコードはC#/ Razorがレンダリングされた後にのみ利用可能であるため、C#でJavaScript変数を使用することはできません。あなたは何ができるか

、Javascript配列にモデルを保存して、JavaScriptでforeachループを行うことです。

var model = []; 
@foreach (var item in Model) 
{ 
    @:model.push({ 
     @:ID: '@item.ID', 
     @:Property1: '@item.Property1', 
     @:Property2: '@item.Property2', 
     @:Property3: '@item.Property3', 
    @:}); 
} 

console.log(model); 
// here you can filter and do the foreach in Javascript, because your model is available as a Javascript array 
+0

素晴らしいです、それは私のために働く! –

関連する問題