2016-10-05 15 views
0

私はこのような何かしようとしています:連結し、C#の文字列

string temp = ""; 

<script type="text/javascript"> 
if (@min >= @customDataBindArray+'().length') { 
    for (i = 0; i < @columns.Count; i++) 
    { 
     @temp+="<td>&nbsp;</td>"; 
    } 

    for (i = 0; i < @min - @customDataBindArray+'().length'); i++) 
    { 
     $('.List tr:last').after(@Html.Raw("<tr>" + @temp + "</tr>")); 
    } 
} 
</script> 

を私はここにいくつかの問題

  1. は、私が@tempためSystem.NullReferenceExceptionを得るが、私はそれを設定見ます空の文字列を削除すると、@Html.Rawは除外され、除外されます。@Html.Raw - >@tempは最終的なhtmlファイルに書き込まれません
  2. 私は観測可能@customDataBindArray+'().lengthを連結しようとすると、これはたぶん、あなたが私に救いの手を与えることができますか?MyObservable+'().length'

になりますか

+0

あなたの混乱クライアント側とサーバー側のコードを働くかもしれないのJavaScript

<script type="text/javascript"> var temp = ''; if (@min >= @customDataBindArray+'().length') { for (i = 0; i < @columns.Count; i++) { temp+="<td>&nbsp;</td>"; } for (i = 0; i < @min - @customDataBindArray+'().length'); i++) { $('.List tr:last').after("<tr>" + temp + "</tr>"); } } </script> 

からバックのViewModelオブジェクトにデータを割り当てることはできません。それをしないでください。 – SLaks

+2

JavaScriptを生成するためにC#/ Razorを使用しないことをお勧めします。代わりに、ajaxを使用してデータをページに送信し、そのデータからオブザーバブルを生成します。 –

+0

が私の投稿を更新しました。 – ASfdsa33

答えて

0

あなたは、これが

+0

'@customDataBindArray + '()。length''は' MyObservable +'()。length''となります。 – ASfdsa33

+0

隠された@htmlに値を格納するのに最適ですタグを付け、dosumentreadを使用してjqueryから読み込み、関数内の値を使用します。そうでなければ、非常に汚いプログラミングになるでしょう。 – Emil

+0

'@ Html.Raw(...)'のようなメソッドがあります。これは、その文字列を連結して通常の変数を見せますか? – ASfdsa33