2016-08-17 16 views
0

私はチェックボックス付きのフォームを持っていて、コントローラーにポストしてSQlサーバーデータベースとして保存しています。値はSystem.String []です。選択された機器のリストとしてアレイを出力し、何も見つけられない解決策を探しているフォーラムを少し調べてみました。コントローラ引数で配列をホバリングすると、フォームで選択されたすべての値がリストされ、正しいものになります。配列値がデータベースにSystem.String []として保存されています

<div class="checkbox"> 
    <label> 
    <input type="checkbox" name="equipmentCheckbox" id="pc" value="PC">PC 
    </label> 
    </div> 

<div class="checkbox"> 
    <label> 
    <input type="checkbox" name="equipmentCheckbox" id="monitor" value="Flat Panel Monitor">Monitor 
    </label> 
    </div> 

<div class="checkbox"> 
    <label> 
    <input type="checkbox" name="equipmentCheckbox" id="mic" value="mic">Mic 
    </label> 
</div> 

<div class="checkbox"> 
    <label> 
    <input type="checkbox" name="equipmentCheckbox" id="speakers" value="speakers">Speakers 
    </label> 
</div> 

<div class="checkbox"> 
    <label> 
    <input type="checkbox" name="equipmentCheckbox" id="videoPlayer" value="videoPlayer">Video player 
    </label> 
</div> 

<div class="checkbox"> 
    <label> 
    <input type="checkbox" name="equipmentCheckbox" id="lab" value="lab">Lab 
    </label> 
</div> 

コントローラー:

[HttpPost] 
    public ActionResult equipmentRequest(string[] equipmentCheckbox) 
    { 
     var db = new Entities(); 


     string[] equipment = Request.Form.GetValues("equipmentCheckbox"); 

     var order = new Order 
     { 

      EquipmentRequested = equipment.ToString(), 

     }; 

     db.Requests.Add(order); 
     db.SaveChanges(); 


     return RedirectToAction("Index"); 
    } 

私はあなたがしようとしている代わりに[]

+0

「EquipmentRequested」の種類は何ですか?あなたは何のリストに配列を解析したいですか? – Shyju

答えて

2

可能System.Stringのデータベースに正しく保存するリストに配列を解析する方法についてこだわっていますあなたがするときに文字列配列のtoStringを使用する

equipment.ToString() 

私はあなたの目的がそれであるかわからない.ToString ()コールが、間違いがあります。

注文代わり

string EquipmentRequested { get; set; } 

ICollection<EquipmentRequested> EquipmentRequested { get; set; } 

が含まれている必要がありますし、EquipmentRequestedは、文字列プロパティ '値' とオブジェクトをリンクするOrderIdでが含まれている必要があります。

+0

右。 .ToString()を削除すると、暗黙のうちに文字列に[string]を変換できないというエラーが発生します。 –

+0

機器レコードをどのようにデータベースに保存し、正しいデータモデルを構築するかを理解する必要があります。これは今では欠落しています。これが問題の根本的な原因です。 – Noppey

+0

私の推測では、文字列のICollectionを単一の文字列の代わりにEquipmentRequestedとして持たなければならないと思います。 – Noppey

関連する問題