0

javascript で作成した文字列をかみそりのコード ブロックに渡す方法を考えていました。以下の単純な js の数行があるとします。

var k=0;
var str1 = 'Model.FeaturedItems[';
var str2 = '].SubHeadline.ToString();';
var query = str1 + k +str2;

次に、文字列クエリをコード ブロックに渡すにはどうすればよいでしょうか。このようなもの:

                   alert("@"+query);

そのコード行の結果を出力する必要があります。 編集: 基本的に私はこのコードを実行したい:Model.FeaturedItems[0].SubHeadline.ToString();そしてjqueryで結果を使って何かをします。ただし、上記を試しても構文エラーが発生し続けます。

4

2 に答える 2

2

javascriptクライアントとrazorサーバーで動作し、サーバーでクライアントコードを実行しようとしています。c#コードブロックで使用するだけです:

C#コード:

@{
    int k = 0; 
    var query = Model.FeaturedItems[k].SubHeadline.ToString(); 
}

Razor ビューの場合、クライアント@queryにはいくつかのデータが含まれます。

<script type="text/javascript">
    alert(@query); 
<script>
于 2012-09-23T08:51:22.083 に答える
1

不可能です。主な理由は、JavaScript コードがクライアント側で実行され、剃刀ビューがサーバー側でレンダリングされているためです。クライアント側で SubHeadlines 配列を作成するASP.NET MVC 3 Razor: JavaScript 配列を初期化します

于 2012-09-23T08:51:51.070 に答える