如何从整个页面asp.net c#中删除类名
Posted
技术标签:
【中文标题】如何从整个页面asp.net c#中删除类名【英文标题】:how to remove a class name from entire page asp.net c# 【发布时间】:2017-05-06 09:30:11 【问题描述】:我的代码是这样的
<th runat="server" id="thTodayToTenTotal" class="redRow">
<th runat="server" id="thTodayToTenTotal" class="redRow">
我从 CodeBehind 中删除了 class="redRow" 这样的属性
thTodayToTenTotal.Attributes.Remove("class");
没关系。
但是“redRow”类可以在我的页面中有很多。如何一次性从整个页面中删除此类名称。然后我想将这个类添加到一个html元素中。我的意思是我有
<th runat="server" id="wantToAddClass">
我像这样从 CodeBehind 添加类
wantToAddClass.Attributes.Add("class", "redRow");
【问题讨论】:
你能详细解释一下吗 请查看我编辑的问题。谢谢 Satish Patil。 您对 Jquery 解决方案持开放态度吗? 很确定你想循环浏览控件集合 【参考方案1】:正如 CRise 评论的那样,您必须循环所有 Web 控件并找到具有所需类的每个控件。
让我在这里给你一些帮助。
让我们创建一个实用程序方法。
IEnumerable<Control> FindControl( Control c, Func<Control,bool> predicate )
if( predicate( c ) )
yield return c;
foreach (var child in c.Controls)
if (predicate((Control)child))
yield return (Control)child;
foreach( var child in c.Controls )
foreach( var match in FindControl( (Control)child, predicate ) )
yield return match;
然后在任何你想检查你的类的地方调用这些方法。
foreach(WebControl c in FindControl( Page, c => (c is WebControl) &&
((WebControl)c).CssClass == "redRow" ))
//Do your operation.
有关更多详细信息,SO 中已经提出了很多问题。见。
How to select an element by Class instead of ID in ASP.NET?
remove css class in code behind
您也可以使用 javascript 或 Jquery。
【讨论】:
如果你通过后面的代码来做这件事,它会非常慢。因为页面的每个方面都被视为一个控件。 @Greg:是的,你是对的,但我只能用 C# 和后面的代码回答,而且你已经用 JQuery 回答了,所以我们可以建议用户使用脚本语言,但这总是取决于根据要求.. 我知道,只是鼓励操作人员不要这样做,除非他必须这样做,但要重新考虑解决方案。【参考方案2】:你可以用 jQuery 来实现,那就是:
$(document).ready (function (
var elements = $(".redRow");
$.each (elements, function(index)
elements[index].removeAttr("class");
);
);
那么问题是,除非从可以锚定到事件的服务器端控件,否则您将不知道要删除哪个元素。由于 id 是每页一个。否则你会尝试解析一个 html 页面,Javascript 很可能是理想的。
【讨论】:
谁能格式化代码,手机不允许。 感谢您的回答。请告诉我如何将此类添加到一个 html 元素。我的问题已编辑。请参阅 Greg.Thanks。 抱歉,格雷格,但我们无法编辑您的答案。以上是关于如何从整个页面asp.net c#中删除类名的主要内容,如果未能解决你的问题,请参考以下文章
ASP.NET MVC / C#:如何从 url 中删除记录 id?
如何使用 jquery 从 asp.net 视图模型中动态删除行而不删除集合中的其余下一个对象
如何使用 C# ASP.Net 从 XML 文档中获取特定 XML 元素的列表?
C# ASP.NET Core Serilog 添加类名和方法到日志