<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>`
<base href="~/app/">
<!--
If you are serving your web app in a path other than the root, change the
href value below to reflect the base path you are serving from.
The path provided below has to start and end with a slash "/" in order for
it to work correctly.
For more details:
* https://developer.mozilla.org/en-US/docs/Web/HTML/Element/base
This is a placeholder for base href that will be replaced by the value of
the `--base-href` argument provided to `flutter build`.
-->
<meta charset="UTF-8">
<meta content="IE=Edge" http-equiv="X-UA-Compatible">
<meta name="description" content="A new Flutter project.">
<!-- iOS meta tags & icons -->
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="apple-mobile-web-app-title" content="web_flutter">
<link rel="apple-touch-icon" href="~app/icons/Icon-192.png">
<!-- Favicon -->
<link rel="icon" type="image/png" href="favicon.png" />
<title>web_flutter</title>
<link rel="manifest" href="manifest.json">
</head>
<body>
@RenderSection("Scripts", required: false)
</body>
</html>
此部分也取自Flutter Web Build的index.html,修改了<base href="~/app/">并在正文中添加了@RenderSection
@{
var routeUrl = ViewContext.RouteData.Values["Page"].ToString();
//you can put pages' name into pages
var pages = new List<string> { "/App/App" };
//if routeUrl contains any of pages, the page will use _Layout as Layout page, the other pages will use _Layout1 ad Layout page
if (!pages.Any(routeUrl.Contains))
{
Layout = "_Layout";
}
else
{
Layout = "_AppLayout";
}
}
6条答案
按热度按时间ego6inou1#
.NET/core是针对API的,flutter是针对原生应用的,它们完全无关。
一方不会对另一方产生影响。所以是的,你可以两个都用。
hec6srdp2#
我喜欢在我的.Net Web API后端使用Flutter。Flutter中的Web API支持非常棒,因为它们内置在JSON serialization support中。组合非常漂亮,我迷上了这个强大的框架
6ljaweal3#
ServiceStack v5.1添加了对Dart和Flutter的本机支持,您可以在其中从远程URL生成端到端的类型化API,例如:
NET Core 2.0以及任何.NET流行的托管选项都支持此功能。上面的示例为.NET Core 2.0 TechStacks project生成了一个类型化API。
HelloFlutter App显示了使用类型化API调用.NET Core 2.0和经典ASP.NET应用程序后端的示例:
要调用任何服务,您只需导入servicestack Dart package和生成的DTO,例如:
然后创建一个配置了远程URL的
JsonServiceClient
示例,例如:然后,您可以像调用任何异步API一样在Flutter小部件中调用它:
有关更多信息,请参阅ServiceStack's native Dart support的文档。
rta7y2nd4#
我也见过一个叫Flutnet的项目使用2,但我自己没有使用过。
https://www.flutnet.com/
lnxxn5zx5#
它们是独立的。
我是asp.netmvc(剃刀页面),然后移动到Angular 的用户界面。现在与Flutter的用户界面工作。
我正在做的项目,你可能会发现有用的。
https://github.com/chhinsras/MiniStarter
4xrmg8kj6#
也许,现在回答已经有点晚了,但无论如何,我在我的项目中面临着同样的问题。
很明显,Flutter和.net项目是相互独立的,可以通过REST API或gRPC连接,但在我的情况下,我真的想将它们合并到一个项目中,从我的共享主机托管上的一个主管运行,并为前端安全另一个域名
基本上,事情很简单。
我拥有的:
有一个快速解决方案:在.net项目中使用静态文件并将Flutter版本复制到静态文件目录中(不要忘记删除Flutter版本的index.html中的一行)。缺点-因为它是一个“静态文件”,所以每个人都可以访问Flutter发布版本的所有文件
因此,我想将它作为其他.js库集成到.net中,并从RazorPages的“Pages”调用它
所以,我所做的是:
脚本部分来自Flutter Web Build的index.html
此部分也取自Flutter Web Build的index.html,修改了
<base href="~/app/">
并在正文中添加了@RenderSection<a asp-page="/App/App">Flutter App</a>
就这样!现在我在一个项目中结合了Flutter和.net,并且可以将其部署为一个目录!
感谢阅读!