Asp.net mvc 在ASP MVC中使用标记列表创建模型

Asp.net mvc 在ASP MVC中使用标记列表创建模型,asp.net-mvc,list,view,tags,Asp.net Mvc,List,View,Tags,我有一个这样的模型 public class Local { public int Id { get; set; } public string Name{ get; set; } public List<string> Tags{ get; set; } } 公共类本地 { 公共int Id{get;set;} 公共字符串名称{get;set;} 公共列表标记{get;set;} } 我需要一个简单的视图来创建模型,但我不知道如何将逗号分隔

我有一个这样的模型

public class Local
{  
    public int Id { get; set; }
    public string Name{ get; set; }   
    public List<string> Tags{ get; set; }
}
公共类本地
{  
公共int Id{get;set;}
公共字符串名称{get;set;}
公共列表标记{get;set;}
}
我需要一个简单的视图来创建模型,但我不知道如何将逗号分隔的标记列表从视图传递给控制器,然后用标记列表保存模型。我在一篇类似的帖子中看到了一个使用text.Split(“,”)的解决方案,但我的问题是我不知道如何将输入文本传递给create操作。我使用的是ASP MVC4。对不起,如果这是基本的,但我是新的ASP MVC。
提前谢谢。

我不确定我是否理解您的问题(它非常模糊),但您可以创建一个名为“Tags”(逗号分隔的数据)的字符串属性的ViewModel,然后为该ViewModel创建一个表单(可以使用Html.EditorForModel),在控制器中,只需将字符串拆分为数组,即可将ViewModel转换为具有标记列表的实体。

//解析字符串
 // 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
 }
string[]list=commaSeparatedListString.Split(“,”); foreach(列表中的var标记){ } //内部控制器 //(如果有多个具有相同名称的输入标记,HTML表单将传递一个值数组) [HttpPost] 公共操作结果(int-id、字符串名称、字符串[]标记) { //保存标签 //使用string.Join(“,”标记)返回逗号分隔的列表 }
那么您想要的视图是什么样子的呢?它是一个复选框列表,还是一个奇特的自动完成令牌输入字段,如上图所示?没有什么奇特的,只是每个字段的典型输入文本问题是,我使用了脚手架来创建所有视图,但在创建视图中,Visual Studio没有为list属性创建代码,所以我有点困惑