美文网首页
在Blazor项目中结合使用C#和VB.NET

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

作者: pactcommander | 来源:发表于2020-07-20 09:12 被阅读0次

许多大公司仍然在用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; 

    } 

}

最后运行该应用

相关文章

网友评论

      本文标题:在Blazor项目中结合使用C#和VB.NET

      本文链接:https://www.haomeiwen.com/subject/suqekktx.html