从后面的代码中禁用 Required 属性

Disable Required attribute from code behind

我在一个表格中有两个 html input,我将它们设置为必需的,如下所示:

<input id="email" name="textfield36" type="text" class="input3" runat="server" required="required" />
<input id="frEmail" name="textfield36" type="text" class="input3" runat="server" required="required" />

我需要将来自 c# 的两个输入之一的 Required 属性设置为 false。例如:

if (language == "English")
{
    frEmail.Attributes.Add("required", "false");
}
else
{
    email.Attributes.Add("required", "false");
}

这导致了一个问题,因为如果语言是英语,那么用户只需要填写指定的字段,而现在的情况是他必须填写所有字段,反之亦然。请注意,在加载时我隐藏了与语言无关的字段。

有人可以帮忙吗?

required属性是Boolean attribute. That means the value is ignored. It's presence on the element all that matters. You need to removerequired属性,不改变它的值。

email.Attributes.Remove("required");