Blazor之ABC
.net core正式推出了Blazor, 正好在一个小项目里试用一下。
- 建立项目
因为基于WebAssemble的客户端Blazor还不是正式版, 为了避免不必要的麻烦,我试用服务端的Blazor。
试用ctrl+F5运行程序,这样开发时保存后会自动生成项目,页面上会提示reload。
- 页面跳转
由于是个小项目,首页的内容留到后面设计。我们先建立个查询页面 (Pages/)Planes/Index.razor。
原菜单的Home,改为Plane List。(菜单在NavMenu.razor中)
Home/Index.razor的内容改为:@page "/"
@inject NavigationManager Nav @code {
protected override void OnInitialized()
{
Nav.NavigateTo("planes/index");
}
}这样在浏览器访问项目的根路径时,会跳转到"planes/index",并且菜单的高亮状态正确。
- UI层
目前的版本,Blazor集成的时Bootstrap 4.3。 HTML等前端组件,完全按Bootstrap的方式开发即可。
<form class="form-inline">
<input type="text" class="form-control mb-2 mr-sm-2" id="txtPlaneCode"
placeholder="编号" @bind="flightNo" />
<button type="button" class="btn btn-primary mb-2" @onclick="SearchPlanes">搜索</button>
<div style="padding-left:15px;">
@message
</div>
</form>
这里我们放了一个form, 里面有一个输入框和一个按钮。 @bind是绑定了一个C#的变量,@onclick绑定了C#的方法。注意按钮type=button,避免自动提交。
4. C#代码
@code {
List<PlaneInfo> planes = new List<PlaneInfo>();
string flightNo = "";
string message = "正在加载数据...";
private void SearchPlanes(MouseEventArgs e=null)
{
message = "";
planes = new List<PlaneInfo> { new PlaneInfo { flightNo="P001"},new PlaneInfo {flightNo="P002" } };
}
protected override void OnInitialized()
{
SearchPlanes();
}
}
OnInitialized会在页面加载时自动调用。 这样一个简单的程序就完成了,可以用Razor语法把planes用表格展示出来。 今天暂时到这里,下次看看怎么加载服务端的数据。
Blazor之ABC的更多相关文章
- ASP.NET Core Blazor Webassembly 之 数据绑定
上一次我们学习了Blazor组件相关的知识(Asp.net Core Blazor Webassembly - 组件).这次继续学习Blazor的数据绑定相关的知识.当代前端框架都离不开数据绑定技术. ...
- Blazor实现未登录重定向到登录页的方法
今天研究了一下blazor,发现他默认启动就是类似于后台管理系统的界面,看到这个页面我就想给他写个登录,有登录就涉及到未登录重定向的问题,但是我没有找到blazor全局路由的设置,知道的老哥可以告诉我 ...
- 【ASP.NET Core】Blazor+MiniAPI完成文件下载
今天老周要说的内容比较简单,所以大伙伴们不必紧张,能识字的都能学会. 在开始之前先来一段废话. 许多人都很关心,blazor 用起来如何?其实也没什么,做Web的无非就是后台代码+前台HTML(包含J ...
- 【IOS】将一组包含中文的数据按照#ABC...Z✿分组
上一篇文章[IOS]模仿windowsphone列表索引控件YFMetroListBox里面 我们一步步的实现了WindowsPhone风格的索引. 但是有没有发现,如果你要实现按照字母排序,你还得自 ...
- 在JS中关于堆与栈的认识function abc(a){ a=100; } function abc2(arr){ arr[0]=0; }
平常我们的印象中堆与栈就是两种数据结构,栈就是先进后出:堆就是先进先出.下面我就常见的例子做分析: main.cpp int a = 0; 全局初始化区 char *p1; 全局未初始化区 main( ...
- 学习Python的ABC模块(转)
http://yansu.org/2013/06/09/learn-Python-abc-module.html 1.abc模块作用 Python本身不提供抽象类和接口机制,要想实现抽象类,可以借助a ...
- 将abc的全排列输出
#include "iostream" using namespace std; void swap(char a[],int i,int j){ char temp; temp= ...
- 关于String str =new String("abc")和 String str = "abc"的比较
String是一个非常常用的类,应该深入的去了解String 如: String str =new String("abc") String str1 = "abc&qu ...
- IE9 使用document.getElementsByName("abc") 不能获取到名称相同SPAN元素
<div name="abc"></div> <input name="abc" type="text" /& ...
随机推荐
- Spring 梳理-传递模型数据到视图
传递model,返回string,不指定返回key package com.jt; import com.myOrg.DeptUserDomain; @Controller @RequestMappi ...
- .NET Core 3.0 可卸载程序集原理简析
因为最近在群里被问到如何理解 .NET Core 3.0 可卸载程序集,所以就写了这篇简单的分析. 因为时间实在很少,这篇文章只简单的罗列了相关的代码,请配合官方说明文档理解. 另外,书籍<.N ...
- 设计时数据源: 在ActiveReports中直接连接PostgreSql 数据库
在之前的博客中,我们学习了如何在运行时绑定PostgreSql 数据库,今天我们学习,如何直连PostgreSQL 数据库. 1. 安装PostgreSQL 的ODBC驱动程序 https://www ...
- Jetpack系列:Paging组件帮你解决分页加载实现的痛苦
相信很多小伙伴们在项目实战中,经常会用到界面的分页显示.加载更多等功能.需要针对具体功能做针对性开发和调试,耗时耗力. Paging组件的使用将这部分的工作简化,从而让开发者更专注于业务的具体实现.下 ...
- Elasticsearch全文检索学习
ElasticSearch官方网址:https://www.elastic.co ElasticSearch官方网址(中文):https://www.elastic.co/cn/ Elasticsea ...
- 软件开发工具(第9章:使用Eclipse进行C/C++开发)
一.安装MinGW MinGW是指用来生成可执行文件的编译环境,它是开发C/C++项目 的工具集.为了能够使用Eclipse CDT编译且运行C和C++程序,必须 要安装一个C/C++编译器. 下载: ...
- python编程基础之二十一
元组: t1 = () t2 = tuple() 成员访问: t1 =(10,7,12,23) print(t1[0]) #下表访问 连接操作 t1 = (1,2,3) t2 =(4,5,6) t3 ...
- drf框架中所有视图及用法
0909自我总结 drf框架中所有视图及用法 一.drf框架中的所有视图类 from django.views import View from rest_framework import views ...
- 重大升级!SEER见证人,您的节点需要在10月28日前更新
SEER的区块链底层目前还处于不断完善中.一些新的完善更新会为区块链的基础设施--节点软件添加新的功能.理事会将会就是否接受新的节点版本进行共识投票,如果提案投票通过,将要求所有见证人在指定时间前将节 ...
- 友价商城SQL注入
友价商城SQL注入 源码出自:https://www.0766city.com/yuanma/9990.html 下载安装好后打开是这样的: 8不说了 ,seay审计一把梭哈 从开始审计 直 ...