सुपर, सब लोग! यहाँ सौदा है... मैं एक नियंत्रक के लिए @Html.ActionLink का उपयोग करके एक दृश्य से प्राप्त मूल्यों को पारित करने का प्रयास कर रहा हूं और फिर एक नए दृश्य को पास कर रहा हूं। बीमार बेहतर समझने के लिए नीचे कुछ कोड प्रदान करें।

मैंने वेरिएबल्स के साथ एक व्यूमोडेल बनाने का प्रयास किया है जो मुझे आवश्यक मानों के समान हैं और नियंत्रक में मैं व्यूमोडेल क्लास को समाहित करने के लिए एक्शन रिसेट ओवरलोड का उपयोग करके दृश्य से मूल्यों को पारित करने का प्रयास करता हूं, इसलिए जब मैं इन परिणामों को वापस दिखाने का प्रयास करता हूं एक नया दृश्य, इसे शून्य अपवाद मिलता है। मैं सी # के लिए नया हूं, अगर कोई और बेहतर जानता है कि मैं इस स्थिति में उपयोग कर सकता हूं तो मैं वास्तव में मदद की सराहना करता हूं, धन्यवाद!

मेरे विचार का हिस्सा उन मूल्यों के साथ है जो मैं चाहता हूं:

<ul>
            @foreach (var item in Model)
            {
                <li>@Html.ActionLink(item.Pedido + " - " + item.Status, "Index", "Pedidostatus", new { pedido = item.Pedido, status = item.Status }, null)</li>
            }
        </ul>

मुझे केवल पेडिडोस्टैटस नियंत्रक में प्राप्त करने के लिए 'पेडिडो' और 'स्थिति' की आवश्यकता है, इसलिए मूल्यों को पारित करने के लिए एचटीएमएल.एक्शनलिंक का उपयोग कर रहा हूं जैसा कि आप सभी देख सकते हैं।

ViewModel जो मैंने बनाया है:

public class PedidosViewModel
    {
        public string PedidoVM { get; set; }
        public string StatusVM { get; set; }
    }

नियंत्रक मैं विचार मान प्राप्त करना चाहता हूं (पेडोस्टैटस):

using Status_Pedido_Venda.ViewModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Status_Pedido_Venda.Controllers
{
    public class PedidostatusController : Controller
    {
        // GET: Pedidostatus
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult Show(string pedido, string status)
        {
            PedidosViewModel viewModel = new PedidosViewModel()
            {
                PedidoVM = pedido,
                StatusVM = status
            };


            return View("Index", viewModel);
        }
    }
}

मेरा नया विचार है कि मैं नियंत्रक के माध्यम से पहले दृश्य से प्राप्त मान दिखाना चाहता हूं:

@model Status_Pedido_Venda.ViewModels.PedidosViewModel

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>

@if(Model.PedidoVM != null && Model.StatusVM != null)
{
    <h2>@Model.PedidoVM</h2>
    <h2>@Model.StatusVM</h2>
}

मुझे अपने नए दृश्य में पहले दृश्य से प्राप्त परिणाम दिखाने की उम्मीद थी।

0
Lucas Lucena 29 अक्टूबर 2019, 18:33

1 उत्तर

सबसे बढ़िया उत्तर

कार्रवाई का नाम दिखाएं होना चाहिए न कि अनुक्रमणिका

<li>@Html.ActionLink(item.Pedido + " - " + item.Status, "Show", "Pedidostatus", new { pedido = item.Pedido, status = item.Status }, null)</li>
0
André Sanson 29 अक्टूबर 2019, 16:07