Как отобразить два ActionResults в одном представлении - PullRequest
0 голосов
/ 06 ноября 2019

У меня есть два actionResult в моем контроллере, который работал нормально, но у каждого ActionResult есть представление. Мой 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);
    }

я хочу сделатьэти два ActionResults Показали их возвращаемые значения в одном представлении

1 Ответ

0 голосов
/ 06 ноября 2019

Я думаю, что лучше иметь один вызов, который выполняет оба запроса и возвращает модель представления, которая содержит два ваших списка:

Модель представления:

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);

-

edit

Я думаю, что то, что я сказал раньше, должно работать, но не смотря, как выглядит код вашего представления. .. Единственное, что я себе представляю, это использовать @ Html.RenderAction () для загрузки другого ActionResult.

В представлении, которое вы загружаете, сначала поместите этот код туда, где вы хотите показать другое представление:

@Html.RenderAction("actionName", "ControllerName", new{ numQuittance = "value" })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...