簡體   English   中英

通過Jquery在C#剃須刀中填充變量

[英]Fill a variable in C # razor through the Jquery

由於有了SignalR庫,我有一個檢索數據的功能(實時)

我想在Url.Action的參數中傳遞此列表以進入控制器。

<td>
    @{
        var Users = new List<UserConnected>();

    }

    @Html.Hidden("listUserConnected", "", new { id = "listUserConnected_" + @item.SET_NOM })
    <h3 class="text-warning"><span style="color: black" id="NombreConnection_@item.SET_NOM" onclick="chargementVuePartielleInModal('@Url.Action("DetailUsersConnected", "Parametrages", new {module = Users})')">0</span></h3>
</td>

......

chat.client.UpdateCountAccueil = function (count, listUsers) {
    //$('#@(Users)').push(listUsers);
    console.log("count accueil :" + count);
    $.each(listUsers, function (index, value) {
        console.log("listUsers : " + index + "  " + value.UserName);

    });


    $('#NombreConnection_Accueil').text(count);

}

如何在ASP.NET(帶有剃須刀)中使用javascript中的函數來填充變量?

我想用js“ listUsers”函數中存在的列表填充我的用戶列表。 最后發送的列表是通過Url.Action填寫了我的控制器的用戶。

我嘗試了幾種技術,包括:

$('#@(Users)').push(listUsers);

$.each(listUsers, function (index, value) {
    console.log("listUsers : " + index + "  " + value.UserName);
    @Users.Add(listUsers);  <-- ***listUsers not know*** 
});

但這並沒有改變任何東西

您不能執行此操作,而應使用JavaScript和Ajax請求執行此操作。 因為呈現了剃刀頁面,然后服務器將html發送到您的瀏覽器。 您可以使用ajax發送用戶列表

您將不得不改變您對Razor頁面的看法。 基本上,您可以保留Razor視圖,但是您需要使用Vue,React等客戶端框架來更好地處理所有客戶端/ ajax事件。 如果您想快速運行某些程序,則可能仍可以使用https://knockoutjs.com/

查看https://knockoutjs.com/examples/helloWorld.html作為示例,但是基本上,您可以從Razor到json進行初始加載,並繼續使用客戶端代碼處理其他所有操作。

https://www.dotnetcurry.com/aspnet-mvc/933/knockoutjs-aspnet-mvc-tutorial-beginner https://docs.microsoft.com/zh-CN/aspnet/single-page-application/overview/introduction / knockoutjs-template

如果您想跳入流行的解決方案,可以查看React,Vue和Angular。 Angular有點重,因此,如果您不想弄亂路由並希望針對每種視圖類型的方法從應用程序入手,則可能要從Vue和React開始。

您無法通過javascript執行操作。 您必須使用ajax調用來從服務器中檢索數據,如下所示:

function getLists(){
            $.ajax({
                url: controller/action,
                method: 'POST',
               //if you need parameters
                data: {parameter:parameter},
                //the list that you return from your controller
                success: function (data) {
                    $('#Users').push(data)
                }
            });
        }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM