如何使用具有多个列表参数的MVC4元组

时间:2013-07-26 17:15:00

标签: asp.net-mvc asp.net-mvc-4

我这样做是为了绑定两个存储过程。

存储过程返回表/列表数据。

var P1_PT_Pct_Thrown = pp.ppsproc_P1_PT_Pct_Thrown(_pid, _vs);
        List<ppsproc_P1_PT_Pct_Thrown_Result> ptpt = null;
        ptpt = new List<ppsproc_P1_PT_Pct_Thrown_Result>();
        ppsproc_P1_PT_Pct_Thrown_Result pt = new ppsproc_P1_PT_Pct_Thrown_Result();
        foreach (var p in P1_PT_Pct_Thrown)
        {
            pt.Years = p.Years;
            pt.FB = p.FB;
            pt.Cut = p.Cut;
            pt.CB = p.CB;
            pt.SL = p.SL;
            pt.SP_CH = p.SP_CH;
            pt.Other = p.Other;
            ptpt.Add(pt);
        }

这是第二个表

var P1_PT_Pct_Thrown = pp.ppsproc_P1_PT_Pct_Thrown(_pid, _vs);
        List<ppsproc_P1_PT_Pct_Thrown_Result> ptpt = null;
        ptpt = new List<ppsproc_P1_PT_Pct_Thrown_Result>();
        ppsproc_P1_PT_Pct_Thrown_Result pt = new ppsproc_P1_PT_Pct_Thrown_Result();
        foreach (var p in P1_PT_Pct_Thrown)
        {
            pt.Years = p.Years;
            pt.FB = p.FB;
            pt.Cut = p.Cut;
            pt.CB = p.CB;
            pt.SL = p.SL;
            pt.SP_CH = p.SP_CH;
            pt.Other = p.Other;
            ptpt.Add(pt);
        }

然后返回

var tuple = new Tuple<ppsproc_P1_PT_Pct_Thrown_Result, ppsproc_P1_PE_FB_Result>(ptpt, pefb);
        return View(tuple);

我收到错误: ptpt pefb 无效。

请帮忙。感谢

1 个答案:

答案 0 :(得分:0)

我认为你粘贴了第一张桌子两次......看起来你正在尝试创建一个List of Tuple,但实际上你正在创建一个单项的元组。尝试:

var tuple = new Tuple<
                     List<ppsproc_P1_PT_Pct_Thrown_Result>,
                     List<ppsproc_P1_PE_FB_Result>
                     >(ptpt, pefb);

但这可能不是你想要的;您可能需要重新考虑您的代码并创建一个List<Tuple<ppsproc_P1_PT_Pct_Thrown_Result, ppsproc_P1_PE_FB_Result>>,然后遍历您的列表以成对创建元组。