簡體   English   中英

如何從 aspx 調用 VB.net 中聲明的列表

[英]How to call a list declared in VB.net from aspx

我正在嘗試使用 vb.net 建立一個網站 ASP.net。 我正在嘗試使用 java 腳本從 ASPX 頁面訪問 VB.net 中聲明的列表,但不幸的是我不能。

這是我的后端代碼

  Protected CustomerRoleTypes As New List(Of CustomerRoleType)
  CustomerRoleTypes.Add("Junior")

     function ValidateRoleType() {
        const customerRoleTypes = "<%: string.Concat(",",CustomerRoleTypes )%>"; // not getting any values here
        const restrictedCustomerRoles = customerRoleTypes.split(",");
        
        return true;
    }

如果有人建議我如何從 javascript function 訪問列表變量,我將不勝感激。 先謝謝了

在大多數情況下,您應該考慮設置 web 方法,然后從客戶端 js 代碼執行 ajax 調用。 這是做這些事情的“正常”方式。

但是,您當然可以使用客戶端“服務器”表達式作為示例嘗試。

您在 web 頁面上的代碼?

好吧,我不知道,看,也沒有你的 class 和列表。

但是,你可以這樣做:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

End Sub

Public Function MyFriendList() As String


    Dim MyCoolFriends As New List(Of Person)

    ' add two people to the cool friends list

    Dim OnePerson As New Person

    OnePerson.FirstName = "Clark"
    OnePerson.LastName = "Kent"
    MyCoolFriends.Add(OnePerson)

    OnePerson = New Person
    OnePerson.FirstName = "Bruce"
    OnePerson.LastName = "Wayne"
    MyCoolFriends.Add(OnePerson)

    Dim sResult = JsonConvert.SerializeObject(MyCoolFriends)

    Return sResult


End Function

Class Person
    Public FirstName As String
    Public LastName As String
End Class

因此,您可以返回該人員“列表”(或在您的情況下為角色類型)。

然后在你的標記中,你可以像你一樣使用表達式,這樣說:

讓我們只需單擊一個按鈕進行測試,然后顯示我們列表中的第一個人。

        <asp:Button ID="cmdShow" runat="server" Text="Show cool friends"
            OnClientClick="ShowFriendsTest();return false"  />

        <script>

            function ShowFriendsTest() {

                MyFriendsRaw = '<%= MyFriendList() %>'
                MyFriends = JSON.parse(MyFriendsRaw)
                // show first person in list
                OnePerson = MyFriends[0]
                alert(OnePerson.FirstName + ' ' + OnePerson.LastName)                    
            }

        </script>

當我們運行上面的代碼時,我們會看到:

在此處輸入圖像描述

以上假設您使用某種序列化程序。

我用的是newtonsoft的json(沒有的話可以用nuget安裝)。

暫無
暫無

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

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