-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;は、1 文字を渡します。

注: View では型キャストを実行する必要があることに注意してください。そうしないと、引き続き同じエラーが発生します。

于 2014-02-04T07:35:22.420 に答える