2015-05-21 128 views
0

我有一个列表框,其中包含许多逗号之间的逗号列表项。 abc,dce和cdf,dfe .....等等。现在,如果我选择多个listitem并尝试从控制器FormCollection param收集它,我得到一个逗号分隔的字符串列表,例如“abc,dce,cdf,dfe”,但我需要像这样的“abc,dce”,“ cdf,dfe“等等。将多选列表框值传递给控制器​​

我有一个解决我的问题的另一个参数为List<string> ListBoxId的解决方案。

现在,我只是想知道是否有任何方式使用FormCollection本身并获得预期的结果。

请指教。

+0

你为什么要用'FormCollection'而不是张贴到模型? –

+0

@StephenMuecke ListBox绑定了一个非模型对象.. –

+0

为什么?一如既往地使用视图模型。 –

回答

0

现在,我只是想知道是否有任何方式使用FormCollection 本身并获得预期的结果。

虽然我不相信的FormCollection是来处理这个正确的方式,这里是你可以做什么:

[HttpPost] 
public ActionResult YourPostAction(FormCollection fc) 
{ 
    var listvals = fc["stocks"]; 
    string[] splitVals = listvals.Split(new char[] { ',' }); 

    // do something with each value from the fc-list 
    foreach (var str in splitVals) 
    { 
    ... 
    } 
} 

基本上,我们采取了的FormCollection列表,并把它分解基于“逗号”分隔符。从那里,我们得到一串你可以使用但你喜欢的字符串。

+0

这不会工作,因为我有listvals =“abc,dce,cdf,dfe”,但我需要像这样的“abc,dce”,“cdf,dfe”。 –

+0

根据我上面的示例,您具有包含的所有值字符串数组。您当然可以将数组部分组合起来以获取所需的字符串。是否有任何你需要的字符串模式? – Eckert

相关问题