如何在一个视图中显示两个ActionResult

我的控制器中有两个操作异常的actionResult,但是每个actionResult都有一个view。我的actionResult返回两个包含两个不同查询的列表。我无法进行联合或加入。实际上,我坚持执行这项任务。我想在同一视图中在我的代码中制作两个查询的两个结果

第一个actionResult

 public actionResult Details(string numQuittance)
    {

        List<QuittTaxe> quittTaxeList = new List<QuittTaxe>();
        using (SqlConnection sqlConnection = new SqlConnection())
        {
            var connetionString = Configurationmanager.ConnectionStrings["connections"].ToString();
            sqlConnection.ConnectionString = connetionString;
            string queryString = "select * from quittance_taxe q inner join taxes t on q.code_taxe = t.code_taxe  where numero_quittance ='" + numQuittance + "'";
            SqlDataAdapter adapter = new SqlDataAdapter(queryString,sqlConnection);
            DataSet dataset = new DataSet();
            adapter.Fill(dataset);

            foreach (DataRow row in dataset.Tables[0].Rows)
            {
                QuittTaxe qt = new QuittTaxe();
                qt.code_taxe = row["CODE_TAXE"].ToString();
                qt.Libelle_Taxe = row["LIBELLE_TAXE"].ToString();
                qt.montant_taxe = row["MONTANT_TAXE"].ToString();

                quittTaxeList.Add(qt);
            }

        }

        return View(quittTaxeList);

第二个

public actionResult Details_Garantie(string numQuittance)
    {


        List<QuitGarantie> QuitGarantieList = new List<QuitGarantie>();
        using (SqlConnection sqlConnection = new SqlConnection())
        {
            var connetionString = Configurationmanager.ConnectionStrings["connections"].ToString();
            sqlConnection.ConnectionString = connetionString;
            string queryString = "select a.numero_quittance,g.* from MVT_GARANTIE_QUITTANCE a,Garantie g where a.code_garantie = g.code_garantie and numero_quittance ='" + numQuittance + "'";
            SqlDataAdapter adapter = new SqlDataAdapter(queryString,sqlConnection);
            DataSet dataset = new DataSet();
            adapter.Fill(dataset);



            foreach (DataRow row in dataset.Tables[0].Rows)
            {
                QuitGarantie pt = new QuitGarantie();
                pt.code_branche = row["CODE_BRANCHE"].ToString();
                pt.Libelle_garantie = row["LIBELLE_GARANTIE"].ToString();
                pt.code_garantie = row["CODE_GARANTIE"].ToString();

                QuitGarantieList.Add(pt);
            }

        }

        return View(QuitGarantieList);
    }

我要使这两个actionResult在同一视图中显示其返回值

tx5897932 回答:如何在一个视图中显示两个ActionResult

我认为最好有一个调用来进行两个查询并返回一个包含两个列表的视图模型:

Viewmodel:

public class ViewModel{
    public List<QuitGarantie> QuitGarantieList { get; set; }
    public List<QuittTaxe> quittTaxeList { get; set;}
}

ActionResult:

ViewModel vm = new ViewModel();
//your 1º query and code
vm.QuitGarantieList = QuitGarantieList;

//your 2º query and code
vm.quittTaxeList = quittTaxeList;

然后:

return view(vm);

-

编辑

我认为我之前说过的应该可以,但是不必看您的视图代码是什么样的...我想唯一的事情就是使用@ Html.RenderAction()来加载其他ActionResult。

在您首先加载的视图中,将此代码放在要显示其他视图的位置:

@Html.RenderAction("actionName","ControllerName",new{ numQuittance = "value" })
本文链接:https://www.f2er.com/3150974.html

大家都在问