2011-12-20 12 views
1


mvc 3のコントローラへの文字列のパスリストに問題があります。Razor
Jqueryを使用して値を設定します。
しかし、サーバ側で最初の値は常にfalse、私は知らない理由:(ここ
私のコード:
クラス:
mvc 3のコントローラに文字列のリストを渡す剃刀

public class ListFieldInfo 
{ 
    public List<string> FieldFilters { get; set; } 
} 

ビュー:

@using (Html.BeginForm("Export", "Books", FormMethod.Post,new { @id = "exportForm", hidden = true })) 
    { 
    <fieldset> 
     @Html.HiddenFor(m => m.status_info.FieldFilters, new { @id = "status_filters" }) 
    </fieldset>  
    } 

のJavascript :

$('#status_filters').add("0"); 
$('#status_filters').add("1"); 

コントローラでのデバッグ:

FieldFilters[0] = "false"// I don't know why 
FieldFilters[1] = "1" 

私はグーグルとstackoverflowのが、まだ助け無し
を検索しようとした私を助けてください、あなたは1つのHiddenFieldのための単一の文字列を受信する必要があなたのケースでは、事前に

答えて

0

JavaScriptコンソールで、次の操作を試してください。

ここ
<input type="hidden" name="model.status_info.FieldFilters" /> 
<input type="hidden" name="model.status_info.FieldFilters" /> 
etc... 

はフィルハークから素晴らしい記事です:あなたがリストを受信する必要がある場合は

はあなたのような名前のコントロールのセットを構築する必要があります。

"0" == false 

参考にしてください。私はMVCが愚かな乞食をしていると思っています。まず、Firebugのネットパネル(またはあなたが使っているWebデバッグ)のPOSTリクエストを調べてみてください。文字列の代わりに普通の数字を使ってみることをお勧めします。

関連する問題