Blazor EditForm 提交到浏览器 POST 端点

问题描述 投票:0回答:1

我的旧式 ASP.NET MVC 应用程序中有一个

EditForm
作为交互岛。

我希望它提交到通常的

POST
端点,作为旧的纯 HTML 表单,浏览器重定向到结果等,但它不起作用(单击按钮将触发
OnValidSubmit
,但没有任何反应)。

我可以编写自定义代码来在 JS 中定位

<form>
标签并将其发送到服务器,但这似乎是非常晦涩的方法。我想知道是否有简单的解决方案

<EditForm FormName="CreateProject" EditContext="@editContext" method="post" action="/game/create" OnValidSubmit="HandleValidSubmit">
    <FormHorizontal>
        <DataAnnotationsValidator />    
        <ValidationSummary />
        <InputText @bind-Value="Model.ProjectName" class="form-control" />
        <FormRow>
            <button type="submit" disabled="@formInvalid" />
        </FormRow>
    </FormHorizontal>
</EditForm>
asp.net-mvc asp.net-core blazor
1个回答
0
投票

你可以尝试在

form
 里面嵌套一个普通的 
EditForm

<EditForm FormName="CreateProject" EditContext="@editContext"  OnValidSubmit="HandleValidSubmit">
    <FormHorizontal>
        <DataAnnotationsValidator />    
        <ValidationSummary />
        <form method="post" action="/game/create">
            <InputText @bind-Value="Model.ProjectName" class="form-control" />
            <FormRow>
                <button type="submit" disabled="@formInvalid" />
            </FormRow>
        </form>
    </FormHorizontal>
</EditForm>
© www.soinside.com 2019 - 2024. All rights reserved.