MVC weergave-data weergeven die array bevatten

Vanuit het oogpunt is dit de oproep aan de controller,

 $('#Submit').click(function() {

            var params = { Id: $('#ID').val() };

            $('#Summary').html("Loading...");

            $.ajax({
                url: '<%= Url.Action("Summary", "Home") %>',
                data: params,
                success: function (html) {
                    $('#Summary').html(html);
                },
                cache: false
            });

        });

Op de controller heb ik dit nadat de actie de uitvoering heeft voltooid,

ViewData["Message"] = displayMessages.ToArray();
Return view("userctrl");

"userctrl" is het gebruikersbeheer om berichten weer te geven en de code ziet er hier als volgt uit

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %>

if (ViewData.ContainsKey("Message")) { %>

    <div class="Message">
        <%= ViewData["Message"] %>

    </div>

<% } %>

Nu wordt deze gebruikersbesturing teruggekeerd naar de weergave, zoals hierboven weergegeven. dit werkt prima als er een enkele string is, maar als array is er weinig codering meer nodig om het te casten. Laat het me weten in gebruikersbeheer. Hoe kan ik dit coderen?

0
Kunt u mij een voorbeeld geven van hoe ik dit kan bereiken?
toegevoegd de auteur user1005310, de bron
dank je, het werkte
toegevoegd de auteur user1005310, de bron
waarom geen displaymeldingen retourneren als jSon, het is eenvoudig om jSon aan clientzijde te manipuleren?
toegevoegd de auteur Emmanuel N, de bron
Als displayMessages een array van tekenreeksen is, kunt u jSon omzeilen en zoiets doen op uw controller openbare tekenreeks Samenvatting (reeks-id) {return String.Join ("
", displayMessages.ToArray ()); }
toegevoegd de auteur Emmanuel N, de bron

1 antwoord

Retourneer tekenreeks uit je Action in plaats van TempData, Iets als

public string Summary(string Id) { 
            return String.Join("
",displayMessages.ToArray()); }
0
toegevoegd