1<!DOCTYPE html> 2<html lang="en"><head><meta charset="utf-8"> 3 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 4 <meta name="keywords" content="blazor,known,razor,react,vue,ç»ä»¶,dotnet"> 5 <meta name="description" content="Knownæ¯åºäºBlazorçæ°ä¸ä»£.NETå¼åå¹³å°ï¼è½»é级ã跨平å°ãæææ©å±ï¼æ¯ææ 代ç åä½ä»£ç ã"> 6 <base href="/"> 7 <title>介绍 - 新一代.NET开发平台</title> 8 <link rel="stylesheet" href="css/fa.css?v=241124211813" /> 9 <link rel="stylesheet" href="_content/AntDesign/css/ant-design-blazor.css?v=250714112240" /><link rel="stylesheet" href="_content/Known/css/theme/default.css?v=241115080140" /><link rel="stylesheet" href="_content/Known/css/size/default.css?v=241115080140" /><link rel="stylesheet" href="_content/Known/css/font-awesome.css?v=241115080140" /><link rel="stylesheet" href="_content/Known/css/prism.css?v=241115080140" /><link rel="stylesheet" href="_content/Known/css/web.min.css?v=250814210524" /><link rel="stylesheet" href="_content/AntBlazor/css/ant-design-blazor.css?v=241012150916" /><link rel="stylesheet" href="_content/AntBlazor/css/web.css?v=250327074430" /><link rel="stylesheet" href="_content/KnownCMS/css/editormd.css?v=241012150916" /><link rel="stylesheet" href="_content/KnownCMS/css/toc.css?v=241025153642" /><link rel="stylesheet" href="_content/KnownCMS/css/plugin.css?v=250320080103" /><link rel="stylesheet" href="_content/KnownCMS/css/web.css?v=250819215606" /> 10 <link rel="stylesheet" href="css/main.css?v=241124211813" /> 11 <link rel="stylesheet" href="css/aos.css?v=241124211813" /> 12 <link rel="stylesheet" href="css/app.css?v=250320080318" /> 13 <link rel="icon" type="image/png" href="favicon.png"> 14 <link rel="manifest" href="manifest.json"> 15 <link rel="apple-touch-icon" sizes="512x512" href="icon-512.png"> 16 <link rel="apple-touch-icon" sizes="192x192" href="icon-192.png"> 17
17<script src="js/jquery.min.js?v=241124211813"></script>
17 18
18<script src="_content/KnownCMS/js/toc.js?v=241025091351"></script>
18 19
19<script> 20 var _hmt = _hmt || []; 21 (function () { 22 var hm = document.createElement("script"); 23 hm.src = "https://hm.baidu.com/hm.js?4283afde5229e536bd20261b08d2c562"; 24 var s = document.getElementsByTagName("script")[0]; 25 s.parentNode.insertBefore(hm, s); 26 })(); 27 </script>
27</head> 28<body><nav class="topnav navbar navbar-expand-lg navbar-dark bg-primary fixed-top bg-white navbar-light shadow-sm scrollednav py-0"><div class="container"><a class="navbar-brand" href="/"></a> 29 <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarColor02" aria-controls="navbarColor02" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button> 30 <div class="navbar-collapse collapse" id="navbarColor02" style><ul class="navbar-nav mr-auto d-flex align-items-center"><li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">弿º</a> 31 <div class="dropdown-menu" aria-labelledby="navbarDropdown"><a class="dropdown-item" href="https://gitee.com/known/Known"> 32 Gitee <img width="70" src="https://gitee.com/known/Known/badge/star.svg?theme=dark" alt="star" style="margin-left:14px;" /></a> 33 <a class="dropdown-item" href="https://github.com/known/Known"> 34 GitHub <img width="70" src="https://img.shields.io/github/stars/known/known?color=%231890FF" alt="stars"></a></div></li> 35 <li class="nav-item active"><a class="nav-link" href="./doc">ææ¡£</a></li> 36 <li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">Wiki</a> 37 <div class="dropdown-menu" aria-labelledby="navbarDropdown"><a class="dropdown-item" href="./wiki">Wiki</a> 38 <a class="dropdown-item" href="https://deepwiki.com/known/Known" target="_blank">DeepWiki</a> 39 <a class="dropdown-item" href="https://opendeep.wiki/known/Known" target="_blank">OpenWiki</a></div></li> 40 <li class="nav-item"><a class="nav-link" href="./bbs">交æµ</a></li> 41 <li class="nav-item"><a class="nav-link" href="./plugin">æä»¶</a></li> 42 <li class="nav-item dropdown"><a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">æ¡ä¾</a> 43 <div class="dropdown-menu" aria-labelledby="navbarDropdown"><a class="dropdown-item" href="./article/open-cases">弿ºé¡¹ç®</a> 44 <a class="dropdown-item" href="./article/prod-cases">ç产项ç®</a></div></li> 45 <li class="nav-item"><a class="nav-link" href="./article/auth-coop">ææ&åä½</a></li></ul> 46 <ul class="navbar-nav ml-auto d-flex align-items-center"><li class="nav-item"><form method="get" action="/search"><div class="ant-input-affix-wrapper ant-input-search"><input type="text" class="ant-input" onkeydown="return true;" id="key" name="key" placeholder="全站搜索" /> 47 <span class="ant-input-suffix"><span class="ant-input-search-icon anticon anticon-search" role="img"><svg focusable="false" width="1em" height="1em" fill="currentColor" style="pointer-events: none;" xmlns="http://www.w3.org/2000/svg" class="icon" viewBox="0 0 1024 1024"><path d="M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0 0 11.6 0l43.6-43.5a8.2 8.2 0 0 0 0-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z"></path></svg></span></span></div></form></li> 48 <li class="nav-item" style="margin-left:10px;"><button class="ant-btn ant-btn-primary ant-btn-block" onclick="AntBlazor.showModal('modal-login')">登录 | 注册</button><!--bl:28--><!--bl:32--><div id="modal-login" class="ant-modal-root" style="display:none;"><div class="ant-modal-mask"></div> 49 <div class="ant-modal-wrap"><div class="ant-modal" style="width:450px;"><div class="ant-modal-content"><div class="ant-modal-header"><div class="ant-modal-title">登录 / 注册</div> 50 <div class="ant-modal-close"><i class="far fa-times"></i></div></div> 51 <div class="ant-modal-body"><div class="cl-login"><div class="cl-login-head">ç¨ æ· ç» å½</div> 52 <form id="login-form" action="/doc"><!--bl:34--><div class="ant-form-item"><div class="ant-form-item-row ant-row"><div class="ant-form-item-control ant-col"><div class="ant-form-item-control-input"><div class="ant-form-item-control-input-content"><!--bl:37--><div class="ant-input-affix-wrapper"><i class="far fa-user"></i><input type="text" class="ant-input" id="UserName" name="UserName" aria-required placeholder="用户名" /></div><!--/bl:37--></div></div></div></div></div><!--/bl:34--> 53 <!--bl:35--><div class="ant-form-item"><div class="ant-form-item-row ant-row"><div class="ant-form-item-control ant-col"><div class="ant-form-item-control-input"><div class="ant-form-item-control-input-content"><!--bl:38--><div class="ant-input-affix-wrapper"><i class="far fa-lock"></i><input type="password" class="ant-input" id="Password" name="Password" aria-required placeholder="密码" /></div><!--/bl:38--></div></div></div></div></div><!--/bl:35--> 54 <!--bl:36--><div class="ant-form-item"><div class="ant-form-item-row ant-row"><div class="ant-form-item-control ant-col"><div class="ant-form-item-control-input"><div class="ant-form-item-control-input-content"><!--bl:39--><button class="ant-btn ant-btn-primary ant-btn-block" onclick="return cl_login()">登 录</button><!--/bl:39--></div></div></div></div></div><!--/bl:36--></form> 55 <div id="login-weixin" style="text-align:center;margin-bottom:20px;
55display:none;"><div style="margin-bottom:10px;">请使ç¨å¾®ä¿¡æ«ç ç»å½</div> 56 <div id="login-qrcode"></div></div> 57 <div class="cl-login-foot"><div onclick="cl_login_type(this,0)">æ«ç ç»å½</div> 58 <div style="color:#d9d9d9;">|</div> 59 <div class="active" onclick="cl_login_type(this,1)">å¯ç ç»å½</div></div></div></div></div></div></div></div><!--/bl:32--> 60
61<script> 62 var checkQRCode; 63 function cl_login_type(obj, type) { 64 $('.cl-login-head').html(type === 1 ? 'ç¨ æ· ç» å½' : 'æ« ç ç» å½'); 65 if (type === 1) { 66 $('#login-form').show(); 67 $('#login-weixin').hide(); 68 clearInterval(checkQRCode); 69 } else { 70 $('#login-form').hide(); 71 $('#login-weixin').show(); 72 checkQRCode = setInterval(function(){ 73 AntBlazor.get('/weixin/check?token=87645a8510d744bf98dd66e9d59095ae').then(res => res.json()).then(data => { 74 if (data.isValid) location = location; 75 }); 76 }, 1000); 77 } 78 $('.cl-login-foot div').removeClass('active'); 79 $(obj).addClass('active'); 80 } 81 82 function cl_login() { 83 var form = AntBlazor.getForm('login-form'); 84 if (!form.IsValid) 85 return false; 86 form.Data.IsPassword = true; 87 AntBlazor.post('/signin', form.Data).then(res => res.json()).then(data => { 88 if (!data.isValid) 89 AntBlazor.showMessage('error', data.message); 90 else 91 location = location; 92 }); 93 return false; 94 } 95 96 $(function() { 97 $('#login-qrcode').qrcode({ text: 'https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx1cd88e5b873c9b8a\u0026redirect_uri=http%3a%2f%2fwww.ewyun.com.cn%2fWxApi.ashx\u0026response_type=code\u0026scope=snsapi_userinfo\u0026state=known_87645a8510d744bf98dd66e9d59095ae#wechat_redirect', width: 200, height: 200 }); 98 }); 99</script>
99<!--/bl:28--></li></ul></div></div></nav> 100 101 102<div class="cl-menu-bar" onclick="cl_click_bar(this)"><i class="far fa-bars"></i></div>
103<script> 104 var isMenuShow = false; 105 function cl_click_bar(obj) { 106 var target = 'cl-doc-menu'; 107 var menu = $('.' + target); 108 if (isMenuShow) { 109 menu.hide(); 110 $(obj).css('left', 0); 111 } else { 112 menu.show(); 113 $(obj).css('left', '199px'); 114 } 115 isMenuShow = !isMenuShow; 116 } 117</script>
117 118<div class="container cl-container cl-doc"><div class="cl-card cl-doc-menu"><div class="cl-card-body"><ul><li><div>欢迎</div> 119 <ul><li><a href="./doc/introduce" class="active">介绍</a></li><li><a href="./doc/functions" class="">功能列表</a></li><li><a href="./doc/updatelog" class="">更新日志</a></li><li><a href="./doc/updatelogpro" class="">更新日志(Pro)</a></li></ul></li><li><div>快速开始</div> 120 <ul><li><a href="./doc/install" class="">安装</a></li><li><a href="./doc/upgrade" class="">升级</a></li><li><a href="./doc/deploy" class="">部署</a></li><li><a href="./doc/video" class="">视频</a></li></ul></li><li><div>开发指南</div> 121 <ul><li><a href="./doc/development" class="">开发手册</a></li><li><a href="./doc/plugin" class="">插件手册</a></li></ul></li><li><div>示例教程</div> 122 <ul><li><a href="./doc/demo" class="">示例</a></li></ul></li><li><a href="./doc/basics" class="">基础知识</a></li><li><a href="./doc/operate" class="">操作指南</a></li><li><a href="./doc/advance" class="">高级开发</a></li><li><a href="./doc/faq" class="">常见问题</a></li><li><div>社区</div> 123 <ul><li><a href="./doc/thank" class="">致谢</a></li><li><a href="./doc/donate" class="">捐赠</a></li></ul></li></ul></div></div> 124 <div class="cl-card "><div class="cl-card-body"><div class="view-count"><i class="far fa-eye"></i> 12404</div> 125 <div class="cl-doc-body"><div id="75f3cbaa-b9be-482c-99fe-37455d12bdba"><div id="toc"><div><a class="item-title" href="/doc#75f3cbaa-b9be-482c-99fe-37455d12bdba" title="介绍">介绍</a></div></div> 126 <div class="post"><h1 id="section">ä»ç»</h1> 127<p><code>Known</code>æ¯åºäº<code>Blazor</code>è½»é级ã跨平å°ãä½ä»£ç ãææ©å±çæä»¶å¼åæ¡æ¶ã</p> 128<h3 id="section-1">设计ç念</h3> 129<ul> 130<li><strong>æä»¶åæ¶æ</strong>ï¼æ¯ææ¨¡ååå离ï¼åè½éè¿æä»¶å½¢å¼å è½½ï¼ä¾¿äºæ©å±åç»´æ¤ã</li> 131<li><strong>ä½ä»£ç è½å</strong>ï¼éè¿å¨çº¿è¡¨åã页é¢å模å设计ï¼å®ç°æ ä»£ç æä½ä»£ç å¿«éå¼åï¼éåä¸å¡éæ±å¿«éè¿ä»£ã</li> 132<li><strong>è·¨å¹³å°æ¯æ</strong>ï¼å©ç¨<code>Blazor</code>ææ¯ï¼æ¯æ<code>Web</code>ãç§»å¨ç«¯ã客æ·ç«¯ï¼<code>WinForm/Maui</code>ï¼çå¤å¹³å°ã</li> 133<li><strong>å½é 忝æ</strong>ï¼æä¾å¤è¯è¨è§£å³æ¹æ¡ï¼é»è®¤æ¯æç®ä½ä¸æãç¹ä½ä¸æãè±è¯ï¼æ»¡è¶³å¤è¯è¨éæ±ã</li> 134<li><strong>工使µå¼æ</strong>ï¼éæç®æèå®ç¨ç工使µå¼æï¼æ¯ææµç¨å建ãæäº¤ãå®¡æ ¸ãæ¤åãåé ãéå¯çæä½ã</li> 135<li><strong>éç¨æé管ç</strong>ï¼å¯æ§å¶èåãæé®ãåæ®µï¼å®ç°è§è²é´æã<code>URL</code>æéæ§å¶ï¼ä¿éç³»ç»å®å ¨ã</li> 136</ul> 137<h3 id="section-2">å¨çº¿ä½éª</h3> 138<ul> 139<li>æ¡æ¶å®ç½ï¼<a href="https://known.org.cn">https://known.org.cn</a></li> 140<li>æ¼ç¤ºå°åï¼<a href="https://demo.known.org.cn">https://demo.known.org.cn</a></li> 141<li>æ¼ç¤ºå°åï¼<a href="https://pro.known.org.cn">https://pro.known.org.cn (ä¸ä¸ç <code>ï¿¥499 (ä¸å«ç¨)</code>)</a></li> 142<li>代ç ä¸è½½ï¼<a href="https://gitee.com/known/Known">https://gitee.com/known/Known</a></li> 143<li>代ç ä¸è½½ï¼<a href="https://github.com/known/Known">https://github.com/known/Known</a></li> 144<li>宿项ç®ï¼<a href="https://gitee.com/known/JxcLite">https://gitee.com/known/JxcLite (ç®æè¿éå管çç³»ç»)</a></li> 145</ul> 146<h3 id="section-3">社åºäºå¨</h3> 147<p>妿æ¨å¨ä½¿ç¨è¿ç¨ä¸éå°é®é¢ï¼å¯ä»¥éè¿ä»¥ä¸éå¾è·å帮å©ã</p> 148<ul> 149<li>æ¡æ¶ææ¡£ï¼<a href="https://known.org.cn/doc">https://known.org.cn/doc</a></li> 150<li>DeepWiki: <a href="https://deepwiki.com/known/Known">https://deepwiki.com/known/Known</a></li> 151<li>QQ群ï¼<img src="https://img.shields.io/badge/QQ%E7%BE%A4-865982686-blue" class="img-fluid" alt="QQ群" /> è¿ç¾¤å¯ç ï¼Known</li> 152<li>微信群ï¼å¯ä»¥å æå¾®ä¿¡ï¼<code>knownchen</code>ï¼æè¿å¾®ä¿¡ç¾¤</li> 153</ul> 154</div></div>
155<script> 156 $(getTOC('75f3cbaa-b9be-482c-99fe-37455d12bdba')); 157</script>
157</div></div></div></div> 158<footer class="footer"><div class="container"><div class="row"><div class="col-12 col-md"><img src="img/logo.png"> 159 <div class="desc">䏿³¨C#åBlazorææ¯ï¼ä¸ºå¼åè æä¾ä¼ç§å¼åæ¡æ¶ï¼</div></div> 160 <div class="col-12 col-md"><div class="row"><div class="col-6 col-md" style="margin-top:1rem;"><h5 class="mb-4 text-white">ç¸å ³é¾æ¥</h5> 161 <ul class="list-unstyled text-small"><li><i class="fas fa-angle-right"></i> 162 <a class="text-muted" target="_blank" href="https://www.cnblogs.com/known">å客</a></li> 163 <li><i class="fas fa-angle-right"></i> 164 <a class="text-muted" target="_blank" href="https://space.bilibili.com/3546586514721249">è§é¢</a></li> 165 <li><i class="fas fa-angle-right"></i> 166 <a class="text-muted" href="./api">ç±»åºAPI</a></li> 167 <li><i class="fas fa-angle-right"></i> 168 <a class="text-muted" href="./log">æ´æ°æ¥å¿</a></li> 169 <li><i class="fas fa-angle-right"></i> 170 <a class="text-muted" target="_blank" href="https://v1x.known.org.cn">V1.2</a></li> 171 <li><i class="fas fa-angle-right"></i> 172 <a class="text-muted" target="_blank" href="https://v2x.known.org.cn">V2.0</a></li></ul></div> 173 <div class="col-6 col-md" style="margin-top:1rem;"><h5 class="mb-4 text-white">ç¸å ³èµæº</h5> 174 <ul class="list-unstyled text-small"><li><i class="fas fa-angle-right"></i> 175 <a class="text-muted" target="_blank" href="https://blazor.net/docs/components/index.html">Blazorææ¡£</a></li> 176 <li><i class="fas fa-angle-right"></i> 177 <a class="text-muted" target="_blank" href="https://antblazor.com">Ant Design Blazor</a></li> 178 <li><i class="fas fa-angle-right"></i> 179 <a class="text-muted" target="_blank" href="https://dotnet9.com">ç çå·¥å</a></li> 180 <li><i class="fas fa-angle-right"></i> 181 <a class="text-muted" target="_blank" href="https://fontawesome.com.cn">Fontawesome䏿ç½</a></li></ul></div> 182 <div class="col-12 col-md" style="margin-top:1rem;"><div class="qrcode"><img src="./img/qrcode.jpg" width="180"></div></div></div></div></div> 183 <div class="copyright"><span>©2020-2026 èå·æ®æ¼«ç§ææéå ¬å¸</span> 184 <a class="text-muted" target="_blank" href="https://beian.miit.gov.cn">èICPå¤20045379å·-3</a></div></div></footer> 185
185<script src="_content/AntDesign/js/ant-design-blazor.js?v=250714112218"></script>
185<script src="_content/Known/js/libs/jquery.js?v=241115080140"></script>
185<script src="_content/Known/js/libs/echarts.js?v=250622151610"></script>
185<script src="_content/Known/js/libs/echarts-liquidfill.js?v=250723150832"></script>
185<script src="_content/Known/js/libs/pdfobject.js?v=241115080140"></script>
185<script src="_content/Known/js/libs/barcode.js?v=241115080140"></script>
185<script src="_content/Known/js/libs/qrcode.js?v=241115080140"></script>
185<script src="_content/Known/js/libs/prism.js?v=241115080140"></script>
185<script src="_content/Known/js/web.js?v=250406222030"></script>
185<script src="_content/Known/js/serviceWorkerRegister.js?v=250406222702"></script>
185<script src="_content/AntBlazor/js/AntBlazor.js?v=241012150916"></script>
185<script src="_content/KnownCMS/js/editormd.js?v=241012150916"></script>
185<script src="_content/KnownCMS/js/mermaid.min.js?v=250819221523"></script>
185 186
186<script src="js/bootstrap.min.js?v=241124211813"></script>
186 187
187<script src="js/popper.min.js?v=241124211813"></script>
187 188
188<script src="js/aos.js?v=241124211813"></script>
188 189 <noscript><style> 190 *[data-aos] { 191 display: block !important; 192 opacity: 1 !important; 193 visibility: visible !important; 194 } 195 </style></noscript> 196
196<script> 197 AOS.init({ 198 duration: 700, 199 disable: function () { 200 var maxWidth = 1200; 201 return window.innerWidth < maxWidth; 202 } 203 }); 204 </script>
204 205
205<script>navigator.serviceWorker.register('service-worker.js');</script>
205</body></html><!--Blazor-Web-Initializers:Ww0KICAiX2NvbnRlbnQvQW50RGVzaWduL0FudERlc2lnbi5kMDVkbnBmYTVzLmxpYi5tb2R1bGUuanMiDQpd--><!--Blazor-Server-Component-State:CfDJ8Byhj7kLbnZGugvxVZvkcTdd9Kxa6PlkX4Dg3LnPHpLJ27Haynd4Dym9ae2nVbWCRzoYdxciKgPZs8gfc9575gIbnDbdMMJLyTNHZ55ErZsJT/h0tmrWDYMOCcju07DQkg2Fxi2fiAfpAup8pda/otaAD4cpunexzvmXWCtqlm5/gS7WPAijcA27OcqDNcYt5k80MCYMDY1dw/Z81RzOJutipMpLbKc+HNHZw169dF2ZCzxDaWel5v2JR/rZstmdsCgpFp9CJWxIu3Cnlttt5syfs5w8M3q5oATaNwcUr2c+1Oo+LcnXqI6Vj3fX7bH3QIzFdxqo0ZOKFKC4k3lxhvM1xoyY+nLnXoD3wrCZA/bf6iFxSfmuySzd0x4Wob8uUlaNozppEhGdRnM+WR9iBzkpW5LMZjOZGkj06tpr27F/iloyENx1H+qgcyxnv2vUygyby4H9MtyVAUBqEG4i3ZN2eFWvqgsJzubBf1NVbQkMVHF1wYT7PmHhIwqK5DoLbWCbsIvr1VZZV+jePhB1wmDcFhx/DVjcOSAoXEAXkPNR-->
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.