You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MAUI Blazor应用中禁用WebView2输入框的已保存信息提示

解决Windows MAUI Blazor WebView2输入框自动填充提示问题

以下几种方案可以禁用WebView2中输入框的自动填充提示:

1. 前端HTML/Blazor组件层面控制

直接给输入框添加autocomplete属性是最直接的方式,针对不同场景可选择不同属性值:

  • 通用禁用:给输入框加上autocomplete="off"
  • 强制禁用(部分浏览器对off兼容不佳时):使用autocomplete="new-password",这个值会让浏览器彻底跳过自动填充
  • 附加其他相关属性:autocorrect="off"、autocapitalize="off"可以进一步禁用拼写纠正和自动大写

在Blazor组件中的示例:

<!-- InputText组件直接传递HTML属性 -->
<InputText @bind-Value="FormData.Username" autocomplete="new-password" />

<!-- 原生input标签 -->
<input type="text" @bind="FormData.Email" autocomplete="off" autocorrect="off" />

2. MAUI应用内配置WebView2核心设置

通过修改WebView2的CoreWebView2Settings,可以全局禁用当前应用的自动填充功能,无需逐个修改输入框:

  1. 在Windows项目的XAML页面(如MainPage.xaml)中,给BlazorWebView添加Initialized事件:
<BlazorWebView x:Name="MainBlazorWebView" 
               HostPage="wwwroot\index.html"
               Initialized="MainBlazorWebView_Initialized">
    <BlazorWebView.RootComponents>
        <RootComponent Selector="#app" ComponentType="{x:Type local:Main}" />
    </BlazorWebView.RootComponents>
</BlazorWebView>
  1. 在对应的后台代码(MainPage.xaml.cs)中实现事件处理逻辑:
private void MainBlazorWebView_Initialized(object sender, Microsoft.AspNetCore.Components.WebView.WebViewInitializedEventArgs e)
{
    if (e.WebView is Microsoft.UI.Xaml.Controls.WebView2 webView2)
    {
        // 若CoreWebView2已初始化,直接修改设置
        if (webView2.CoreWebView2 != null)
        {
            ConfigureWebView2Settings(webView2.CoreWebView2.Settings);
        }
        // 若未初始化,等待初始化完成后再配置
        else
        {
            webView2.CoreWebView2InitializationCompleted += (s, args) =>
            {
                if (args.IsSuccess)
                {
                    ConfigureWebView2Settings(webView2.CoreWebView2.Settings);
                }
            };
        }
    }
}

private void ConfigureWebView2Settings(Microsoft.Web.WebView2.Core.CoreWebView2Settings settings)
{
    // 禁用通用自动填充
    settings.IsGeneralAutofillEnabled = false;
    // 禁用密码自动保存/填充
    settings.IsPasswordAutosaveEnabled = false;
}

3. 客户端全局配置(仅适合企业/统一部署场景)

如果需要在客户端机器上全局禁用所有WebView2应用的自动填充,可以通过注册表修改:

  • 打开注册表编辑器,定位到HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Edge\WebView2
  • 创建一个DWORD类型的键值AutofillEnabled,将其值设为0
  • 重启应用后生效

注意:此方式会影响所有使用WebView2的应用,非必要不建议使用。


内容的提问来源于stack exchange,提问作者Angevil

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 11:31:02