2017-03-14 8 views
0
私はそうのようなビューにHtml.CheckBoxFor()ヘルパーと一緒に bootstrap-toggleを使用しています

ASP .NET MVC CheckBoxForヘルパーは

@Html.CheckBoxFor(m => m.issueFlag, 
        new { id = "toggle-switch", 
         data_toggle = "toggle", 
         data_size = "normal", 
         data_on = "Issue on Invoice", 
         data_off = "No Issue on Invoice", 
         data_onstyle="danger", 
         data_offstyle="success", 
         data_width = "200" }) 

スイッチが前面に表示され、機能フォームが提出されると、値は常にfalseになります。チェックボックス、ドロップダウン、テキストボックスなどのフォーム内のその他のものは、コントローラで正しくキャプチャされます。コントローラーのPOSTアクションは、次のように宣言されています。

[HttpPost] 
[AuthorizeRights(Rights = "Viper_ViewAudit,Viper_EditAudit")] 
public ActionResult ShowImage(PDFViewer pdfViewerModel, string Command) 
{ 
    ... content ... 
} 

どこか間違っていますか?なぜm.issueFlagは常にfalseですか?

(これ以上のコードが必要ですが、それ以外のものは何か分かりません)

更新 生成されたHTMLは、私は今も変更せずにヘルパーを使用せずにまっすぐinputタグをやって試してみました

<input data-off="No Issue on Invoice" data-offstyle="success" 
     data-on="Issue on Invoice" data-onstyle="danger" data-size="normal"    
     data-toggle="toggle" data-val="true" 
     data-val-required="The issueFlag field is required." data-width="200"    
     id="toggle-switch" name="issueFlag" type="checkbox" 
     value="true" /> 
<input name="issueFlag" type="hidden" value="false" /> 

です。

+0

がそれをです(http://www.bootstraptoggle.com/) 。実際のHTMLはどのように生成されますか? –

+0

モデルをビューに渡す前に、GETメソッドで 'issueFlag'の値を' true'に設定するとどうなるか確認できます( 'checked'属性が追加されるようになりました)。値を 'true'に設定しても、 'off'に設定していますか? –

+0

これを行うと、トグルは(以前はなく)ビューでオンになっていますが、POSTメソッドではまだ 'false'を返します。 – JosephGage

答えて

1

オブジェクトのHTML属性から削除(ID = "トグルスイッチ")、あなたはあなたのメインのID(issueFlagは)(トグルスイッチ)に上書きしますので。 uはそのブートストラップ・トグルに問題がある場合は

だけjqueryのを使用して、このようにそれらの属性を追加:[?このプラグイン]

@Html.CheckBox("abc", new { @class="abc1"}); 

<script> 
    function f() { 
     $('.abc1').attr('data-toggle', 'toggle') 
     .attr('data-onstyle', 'success') 
     .attr('data-offstyle', 'danger') 
    }; 
    f(); 
</script> 
+0

あなたの提案を試しました。残念ながら変更はありません。私はここから別の方法を使用していますhttps://php.quicoto.com/toggle-switches-using-input-radio-and-css3/ – JosephGage

+0

あなたのコントローラーでの追加(bool issueFlag) - >パラメーター –