在Blazor项目中结合使用C#和VB.NET

许多大公司仍然在用VB开发Webforms。如果他们想在未来将他们的应用程序迁移到Blazor,就可能用到下面的技术。

在Visual Studio 2019中创建Blazor Server项目

请使用Visual Studio 2019创建一个Blazor服务器项目

您可以看到c#中的项目结构。

现在,我们可以添加一个新的VB.NET类库项目的解决方案。

我们可以在VB中快速添加一个Employee类并添加两个属性,如下所示。

我们可以把这个VB.NET库加到我们现有的Blazor Server项目。

 在Blazor Server项目的“Pages”文件夹中添加一个新组件Employees。 

在组件页面中添加以下代码。

Employees.razor

@using VBNETClassLibrary 

@page "/employees" 


<h3>Employee List</h3> 


@if (employees == null) 

    <p>Loading...</p> 


else 

    <table class='table'> 

        <thead> 

            <tr> 

                <th>Name</th> 

                <th>Age</th> 

            </tr> 

        </thead> 

        <tbody> 

            @foreach (var employee in employees) 

            { 

                <tr> 

                    <td>@employee.Name</td> 

                    <td>@employee.Age</td> 

                </tr> 

            } 

        </tbody> 

    </table> 


@code { 


    List<Employee> employees = new List<Employee>(); 

    protected override void OnInitialized() 

    { 

        employees.Add(new Employee { Name = "Sarathlal Saseendran", Age = 38 }); 

        employees.Add(new Employee { Name = "Anil Soman", Age = 43 }); 

    } 


}

你可以注意到我们在组件内用的是VB.NET类库。

我们可以通过添加Employees 路由来修改共享组件NavMenu。

NavMenu.razor

<div class="top-row pl-4 navbar navbar-dark"> 

    <a class="navbar-brand" href="">BlazorCsharpVB</a> 

    <button class="navbar-toggler" @onclick="ToggleNavMenu"> 

        <span class="navbar-toggler-icon"></span> 

    </button> 

</div> 


<div class="@NavMenuCssClass" @onclick="ToggleNavMenu"> 

    <ul class="nav flex-column"> 

        <li class="nav-item px-3"> 

            <NavLink class="nav-link" href="" Match="NavLinkMatch.All"> 

                <span class="oi oi-home" aria-hidden="true"></span> Home 

            </NavLink> 

        </li> 

        <li class="nav-item px-3"> 

            <NavLink class="nav-link" href="counter"> 

                <span class="oi oi-plus" aria-hidden="true"></span> Counter 

            </NavLink> 

        </li> 

        <li class="nav-item px-3"> 

            <NavLink class="nav-link" href="fetchdata"> 

                <span class="oi oi-list-rich" aria-hidden="true"></span> Fetch data 

            </NavLink> 

        </li> 

        <li class="nav-item px-3"> 

            <NavLink class="nav-link" href="employees"> 

                <span class="oi oi-list-rich" aria-hidden="true"></span> Employees 

            </NavLink> 

        </li> 

    </ul> 

</div> 


@code { 

    private bool collapseNavMenu = true; 


    private string NavMenuCssClass => collapseNavMenu ? "collapse" : null; 


    private void ToggleNavMenu() 

    { 

        collapseNavMenu = !collapseNavMenu; 

    } 

}

最后运行该应用

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容