Dev*_*emi 1 c# asp.net asp.net-mvc
我在 C# MVC (.NET) 中,并且有一个表单,我在其中输入 @html.TextAreaFor 存储为字符串我假设来自此文本框的数据将存储为字符串,但我想知道如何将就“/n”元素而言,字符串外观是否会分隔新的行标记?
理想情况下,我需要逐行解析文本框,其中每一行上的字符串成为一个列表的元素例如,如果我们在文本框中
item1
item2
item3
Run Code Online (Sandbox Code Playgroud)
然后,当我提交表单时,我指定的模型将与文本框的字符串一起加载,并使用该字符串我们将加载我们的列表(在其他地方,在不同的模型中......)与 item1、item2 和 item3 .
假设您TextAreaFor绑定到一个名为的模型属性TextAreaModel,该属性包含来自用户输入的字符串,如下所示:
@model ViewModel
@Html.TextAreaFor(m => m.TextAreaModel, new { ... })
Run Code Online (Sandbox Code Playgroud)
从模型属性中提取行的正确方法是使用Environment.NewLinePOST 操作方法中的分隔符拆分字符串内容,如下例所示:
[HttpPost]
public ActionResult SubmitForm(ViewModel model)
{
// other stuff
// parse every textarea lines as list elements
List<string> list = model.TextAreaModel.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).ToList();
// assign it to other list property on other model
OtherModel.OtherList = list;
// other stuff
return View(model);
}
Run Code Online (Sandbox Code Playgroud)
注意:StringSplitOptions.RemoveEmptyEntries将删除在源字符串中找到的空行,我认为这是比使用StringSplitOptions.None.
演示:
相关问题:
| 归档时间: |
|
| 查看次数: |
1429 次 |
| 最近记录: |