繁体   English   中英

在 ASP.NET 的 CodeBehind 中添加和删除“is-invalid”类

[英]Adding and removing "is-invalid" class from CodeBehind in ASP.NET

我正在创建一个用户必须填写表单的 ASP 站点。 文本框、下拉列表,我使用 Bootstrap 4 作为样式,整个内容都在更新面板中,因此页面感觉响应迅速,而无需进行完整的回发。

因此,当用户点击提交按钮时,我会检查是否有任何文本框或下拉列表为空。 如果是,我不会插入到数据库中,而是将“is-invalid”附加到空字段的 CssClass。

Control.CssClass += " is-invalid";

到目前为止,一切都很好。 空字段变红。

但是,如果用户填写空字段并再次单击提交,即使我将“is-invalid”替换为空,这些字段仍会保持红色。

Control.CssClass.Replace(" is-invalid", "");

所以我的问题是,为什么红色没有消失? 如果在追加时从 CodeBehind 更改 CssClass 有效,那么为什么在我删除时它不起作用?

PS。:我知道我可以使用javascript,但我更喜欢整个检查步骤在一个地方,而不是一半是.cs,另一半是javascript。 但是如果我不能从 CodeBehind 中删除,那么我将使用 javascript,但我希望有一个解决方案。

Control.CssClass.Replace(" is-invalid", "");

它从CssClass属性中获取string ,创建一个没有is-invalid值的新字符串,然后将新字符串扔掉。 属性值不会改变。

如果要修改属性的值,则需要更新它:

Control.CssClass = Control.CssClass.Replace(" is-invalid", "");

你在页面生命周期的哪个地方实现了这个? 这听起来是个不错的首选

查看您的代码也会有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM