Blazor是一个Web框架,允许开发人员在.NET中编写客户端代码。它是ASP.NET Core的一部分,称为“Razor Components”。
IIS 上的 Blazor 应用程序无法在最新的 IOS 上运行
我需要一些指导来解决本地 IIS 服务器上托管的网站无法在使用 Chrome 和 Safari 的较新 iPhone 型号(特别是 iPhone 12 Pro)上正确加载的问题
我希望我的 .razor 页面具有默认布局(MainLayout),除非 LayoutType 参数是==“Tab”我总是得到 TabLayout。 默认布局是MainLayout。 @页面&
ASP Core 5.0 和 VS 2019 Preview 16.9 具有类似于流行 JS 框架(如 Angular)的 CSS 作用域功能。创建新项目后,Host.html 包含自动生成的 CSS。 ASP Core 5.0 和 VS 2019 Preview 16.9 具有 CSS scopes 功能,类似于流行的 JS 框架(如 Angular)。创建新项目后,Host.html包含自动生成的CSS。 <link rel="stylesheet" href="MyNameSpace.styles.css" /> 当环境设置为Development时,一切正常 然后,我创建 appsettings.Live.json 并将环境设置为 Live,CSS 未生成,尝试加载此 CSS 的 HTTP 请求显示 404 Not Found 我错过了什么? 因此看来静态网络资源仅在Development模式下生成 我相应修改了CreateHostBuilder中的Program.cs方法: webBuilder.UseStaticWebAssets().UseStartup<Startup>(); 这似乎解决了这个问题。 发布应用程序时,生产环境和登台环境似乎不需要这个 添加到@Quango的答案.NET 6。 在构建应用程序之前,将此行添加到 Program.cs: builder.WebHost.UseStaticWebAssets(); // Add this: ☝ var app = builder.Build(); 如果您使用的是CreateSlimBuilder方法,这就是原因,您必须将其更改为CreateBuilder
我有一个 .NET 8 blazor 应用程序,其呈现模式为 InteractiveServer。 在应用程序中,有一个带有 IsShown 参数的组件,if 语句使用该参数来呈现内容。如果我起来...
使用ConfirmDialog和Toasts以及EditForm来发出问题
早上好。我希望你能帮助我。 我正在尝试使用ConfirmDialog 和Toasts 组件。 如果我从任何组件运行它,它都会完美运行: 例子: @page“/计数器” @
在服务器和客户端 Blazor Web 应用程序 .Net 8 中注册服务
我有一个 Blazor Web App .Net 8 项目。 我想在Client Program.cs文件中注册JsMethods服务 //JsMethods服务 命名空间 QK.Services.Js { 公共接口 IJsMethods { ...
如何像 Vue 一样从父层向 Blazor 组件随机添加 CSS 属性?
由于我想设计一些可重用的 Blazor 组件,我希望它们能有这样的功能: 假设我有一个自定义组件“MyComponent”,我可以向它添加任何 CSS 属性...
我有一个带有透明标题行的表格 我希望标题行是粘性的,但是当我这样做时,当我垂直滚动表格时,其他表格行在标题后面滚动,因为......
我需要将小部件脚本添加到我的 Blazor 项目中。 如果我将脚本添加到 _Host.cshtml,则此小部件将在所有项目页面上运行。 但我只需要在选定的页面上运行它。 我无法插入 我需要将小部件脚本添加到我的 Blazor 项目中。 如果我将脚本添加到 _Host.cshtml,此小部件将在所有项目页面上运行。 但我只需要在选定的页面上运行它。 无法插入 <script src="//code-ya.jivosite.com/widget/kiMhndUDCT" async></script> 到.razor 组件。 我如何使用 JSRuntime 做到这一点? 谢谢! 这就是我要做的: 创建组件:Blazor 组件 在该组件中,使用 JS Interop 将您刚刚制作的“Widget Blazor Componenet”添加到您需要的页面。 我最近尝试用“给我买杯咖啡”按钮做同样的事情,我只想在某些页面上使用它。我不是 JavaScript(甚至 Blazor)方面的专家,无法理解到底发生了什么,但我只知道在 WebAssembly 加载时必须调用外部 JS 脚本,才能显示小部件。 特别是对于 Blazor WebAssembly,外部脚本必须作为脚本标记包含在 wwwroot/index.html 中。但通过这样做,这个小部件就会出现在您网站的所有页面上。 然后,我尝试使用 JS Interop 通过自写的 JavaScript 函数调用该外部脚本,只有在初始化某些页面时,尽管技术上可行(即调用了自写的 JavaScript 函数),但小部件从未出现。 我最终想到了一个“黑客”,我只是像往常一样将外部脚本包含在 wwwroot/index.html 中,然后通过其 ID 访问该小部件的 div 容器,并将可见性设置为“隐藏”或“可见” ”. 我就是这样做的。第一步是定义 JS 函数: // wwwroot/js/scripts.js function HideBuyMeaCoffeeButton(id) { var buttonDivObject = document.getElementById(id); buttonDivObject.style.visibility = "hidden"; } function ShowBuyMeaCoffeeButton(id) { var buttonDivObject = document.getElementById(id); buttonDivObject.style.visibility = "visible"; } 接下来,对于您想要隐藏小部件的 (Razor) 页面: @inject IJSRuntime JSRuntime @implements IAsyncDisposable // <your content> @code { private IJSObjectReference? module; // Turn "off" the Buy Me a Coffee button protected async override Task OnAfterRenderAsync(bool firstRender) { if (firstRender) { module = await JSRuntime.InvokeAsync<IJSObjectReference>("import", "./js/scripts.js"); } await HideOffBuyMeaCoffeeButton(); } private async Task HideOffBuyMeaCoffeeButton() { // My widget div container had the ID: 'bmc-wbtn' await JSRuntime.InvokeVoidAsync("HideBuyMeaCoffeeButton", "bmc-wbtn"); } async ValueTask IAsyncDisposable.DisposeAsync() { if (module is not null){await module.DisposeAsync();} } } 对于您想要显示小部件的 (Razor) 页面,只需将 HideBuyMeaCoffeeButton 与 ShowBuyMeaCoffeeButton 交换即可。它并不完美,但对于我的爱好项目来说已经足够好了,我的“博客”上只有这个小部件。
我有一个弹出组件,它包装了一个包装DxPopup(DevExpress)的弹出基本组件。通过双向数据绑定,我希望属性值不仅从父级传递到子级,而且还......
我有一个弹出组件,它包装了一个包装DxPopup(DevExpress)的弹出基本组件。通过双向数据绑定,我希望属性值不仅从父级传递到子级,而且还......
如何删除单选按钮上的 mudblazor 键盘导航。 (https://mudblazor.com/components/radio#keyboard-navigation) 我尝试替换@onkeydown事件没有成功,看来是
我使用 Visual Studio 在 WSL 上运行 ASP NET,没有出现任何问题。现在,经过一些重新安装后,我收到证书错误。所有其他如 http、https、IIS 都工作正常。不过我会
所以我有一个 Textinput,我想将它绑定到父级。但我无法从 setter 调用 EventCallback,因为它是异步的。 我的输入是这样的 所以我有一个 Textinput,我想将它绑定到父级。但我无法从 setter 调用 EventCallback,因为它是异步的。 我的输入是这样的, <MudTextField @bind-Value="@(Code)" Label="Hex" Variant="Variant.Outlined" > </MudTextField> 我的财产是这个, [Parameter] public string Code { get => _Code; set { _Code = value; // Invoke the CodeChagned here so that the parent knows. } } [Parameter] public EventCallback<string> CodeChanged { get; set; } 我需要更新父级中绑定到代码属性的另一个文件。但由于我无法从设置器调用它,并且我没有任何按钮来调用任何可单击的操作。那我该怎么办呢? 只需传递值并连接到其值更改事件。 <MudTextField Value="@(Code)" Label="Hex" ValueChanged="@CodeChanged" Variant="Variant.Outlined" > </MudTextField> @code { [Parameter] public string Code { get; set; } = default!; [Parameter] public EventCallback<string> CodeChanged { get; set; } }
Razor 组件无法识别 Blazor 项目中的 .razor.css 文件
我的 Blazor 项目(使用 .Net 8)遇到问题,其中相应的 Razor 组件无法识别 .razor.css 文件。 问题:MyComponent.razor.css 中定义的样式...
我需要做什么才能将控制器添加到 .NET 8 Blazor Wasm 应用程序?该模板现在创建计数器和天气,硬编码在 Razor 页面中,根本没有用。 该模板用于...
Blazor EventCallbacks 命名约定 - 双向绑定
我们目前正在为 Blazor 应用程序定义一些命名约定。一个有趣的点是 EventCallbacks 和处理程序的命名。 这个就不多说了...
我刚刚开始使用 Blazor。我在 Visual Studio 2022 中使用 Net 8 这是我的 App.razor 文件 我刚刚开始使用 Blazor。我在 Visual Studio 2022 中使用 Net 8 这是我的 App.razor 文件 <Router AppAssembly="@typeof(App).Assembly"> <Found Context="routeData"> <RouteView RouteData="@routeData" DefaultLayout="@typeof(MainLayout)" /> <FocusOnNavigate RouteData="@routeData" Selector="h1" /> </Found> <NotFound> <PageTitle>Not found</PageTitle> <LayoutView Layout="@typeof(MainLayout)"> <p role="alert">Sorry, there's nothing at this address.</p> </LayoutView> </NotFound> </Router> 目录结构为默认 --Features -->Home --> HomePage.razor --> TestPage.razor 我的主页是主页。 @page "/" 我的 TestPage.razor 有这个 @page "/Test" <PageTitle>TEST</PageTitle> <h3>TEST results</h3> 当我运行应用程序时。在主页中打开它的 URL https://localhost:7258/ 但是当我想重定向到 TestPage 时,我将 URL 更改为 https://localhost:7258/Test 但是出现了消息 Sorry, there's nothing at this address. 我检查了 .csproj 文件,如下所示这里 添加 <ItemGroup> <Folder Include="Features\Home\" /> </ItemGroup> 但是什么都没有改变.. 我缺少什么? 谢谢 这是我的错,由于使用 SASS,我出现了编译错误,我将在另一篇文章中讨论这一点。该页面无法识别。 谢谢
HTML 书签链接/Blazor 锚链接滚动到顶部我的内容隐藏在应用栏中
我试图为某些内容创建锚链接或书签。我的问题是单击书签 href 链接时它会滚动并将我带到正确的内容,但我的问题是某些内容隐藏在 Ap 内...
我正在开发一个 Blazor Web 应用程序,但我遇到了一个奇怪的行为。几乎所有页面都是复制/粘贴,它们具有 CRUD 操作和先前的不同元素列表(赛季、球员、赛程……