gpt4 book ai didi

asp.net - 在局部 View 中强制使用无 Html.BeginForm/Ajax.BeginForm 的无障碍语法

转载 作者:行者123 更新时间:2023-12-04 20:22:30 27 4
gpt4 key购买 nike

当我将表单的一部分放在局部 View 中时,除局部 View 中的表单元素外,所有表单部分都将获得无障碍语法。

我发现如何“应用”无障碍语法的唯一方法是在局部 View 中启动另一种形式。

看法:

@using (Ajax.BeginForm("SubmitHandler", new DefaultAjaxOptions()))
{
@Html.EditorFor(m => m.Name)
@Html.Partial("MyPartialView", Model)
}

部分 View :
@Html.TextBoxFor(m => m.SomeContent)

输出:
<input class="text-box single-line" data-val="true" data-val-required="This field is required." id="Name" name="Name" type="text" value="">
<input id="SomeContent" name="SomeContent" type="text" value="0">

所以只有来自 View 的输入元素具有无障碍语法,而局部 View 没有......

有没有办法在局部 View 中应用无障碍语法,而无需您开始新表单?

最佳答案

我实际上找到了更好的解决方案!深入研究了 asp.net mvc 代码,MvcForm 类创建了所有无障碍的验证语法。

所以如果你使用:

@using(new MvcForm(ViewContext))
{
}

代替
@using(Html.BeginForm())
{
}

它仍然会应用无障碍语法,但不会创建表单 html 标签:)

关于asp.net - 在局部 View 中强制使用无 Html.BeginForm/Ajax.BeginForm 的无障碍语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4815388/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com