-4

如何在 ASP.NET MVC4 中拆分单词?

这是我到目前为止所尝试的。

public ActionResult Index()
        {
            var aaa = System.Text.RegularExpressions.Regex.Split("12:::34:::55", ":::");

            ViewBag.test = aaa;
            return View();
        }

但页面显示System.String[]

4

5 回答 5

2

ViewBag.test在您的视图中迭代。

于 2013-05-19T11:48:45.677 回答
1

这将拆分您的字符串并返回一个数组,如下所示:

public ActionResult Index()
{
    string[] elements = string.Split("12:::34:::55", ":::");

    ViewBag.test = elements;
    return View();
}

编辑

以下是您如何遍历视图中的元素:

@foreach (string element in ViewBag.test)
{
    <span>@element</span>
    // or other things ...
}
于 2013-05-19T11:48:36.333 回答
0

您正在看到string数组的表示。

要显示元素,请使用string.Join

ViewBag.test = string.Join(",", //insert separator here
                           aaa);

这将返回"12,34,55"

如果您想有单独的行,请将 替换","Environment.NewLine。您还可以使用空格" "或您选择的任何其他分隔符。

于 2013-05-19T11:49:22.333 回答
0

在您看来,您应该遍历该值:

@foreach (string item in ViewBag.test)
{
    <p>@item</p>
}
于 2013-05-19T11:50:31.107 回答
-1

您刚刚Split("x:::y:::z",":::")在这种情况下使用它返回字符串数组,以便向您显示消息System.String[]

如果你想在一个字符串数组中提到它

string s = "x:::y:::z";
string[] Splittedwords=s.Split(new string[] { ":::" }, System.StringSplitOptions.None);

否则,如果您只想要其中的第一个,则可以使用

var x = s.Split(new string[] { ":::" }, System.StringSplitOptions.None)[0];

这里[0]代表第一个拆分给你x,[1]给你y。

现在您可以ViewBag.test = Splittedwords;传递给视图。
否则ViewBag.test = x;传递单个字符。

注意:请记住在 View 中您必须执行类型转换,否则您将继续收到相同的错误

于 2014-02-04T07:35:22.420 回答