0

私はこのようなモデルを持っています

public class Local
{  
    public int Id { get; set; }
    public string Name{ get; set; }   
    public List<string> Tags{ get; set; }
}

モデルを作成するには単純なビューが必要ですが、コンマ区切りのタグのリストをビューからコントローラーに渡し、モデルをタグのリストとともに保存する方法がわかりません。同様の投稿で text.Split(',') を使用するソリューションを見ましたが、私の問題は、入力テキストを作成アクションに渡す方法がわからないことです。私はASP MVC 4を使用しています。これが基本的なものである場合は申し訳ありませんが、ASP MVCは初めてです。前もって感謝します。

4

2 に答える 2

1

あなたの質問を理解しているかどうかわかりませんが (それは本当に漠然としています)、「タグ」(カンマ区切りのデータ) という文字列プロパティを持つ ViewModel を作成するだけで、この ViewModel のフォームを作成できます (Html を使用できます)。 .EditorForModel) を使用し、コントローラーで文字列を配列に分割して、ビューモデルをタグのリストを持つエンティティに変換するだけです。

于 2012-09-29T23:40:23.943 に答える
0
 // Parse the string
 string[] list = commaSeparatedListString.Split(",");

 foreach(var tag in list) {
    <input type="text" name="tags" value="@tag" />
 }

 // In controller
 // (the HTML Form will pass an array of values if there is more than one input tag with the same name)
 [HttpPost]
 public ActionResult(int id, string name, string[] tags)
 {
    // Save the tags
    // Use string.Join("," tags) to get your comma separated list back
 }
于 2012-09-30T18:04:10.157 に答える