本文整理汇总了C#中IHtmlElement.Class方法的典型用法代码示例。如果您正苦于以下问题:C# IHtmlElement.Class方法的具体用法?C# IHtmlElement.Class怎么用?C# IHtmlElement.Class使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IHtmlElement
的用法示例。
在下文中一共展示了IHtmlElement.Class方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: BindElement
/// <summary>
/// 对元素进行数据绑定
/// </summary>
/// <param name="element">需要绑定数据的元素</param>
/// <param name="context">绑定上下文</param>
/// <returns>返回是否对元素进行了不可逆转的操作(例如移除),故而禁止后续的绑定操作</returns>
public void BindElement( HtmlBindingContext context, IHtmlElement element )
{
if ( element.Attribute( "binding-visible" ) != null )
{
var visible = element.Attribute( "binding-visible" ).Value();
if ( visible.EqualsIgnoreCase( "false" ) || visible.EqualsIgnoreCase( "hidden" ) || visible.EqualsIgnoreCase( "invisible" ) )
{
element.Remove();
context.CancelChildsBinding = context.BindCompleted = true;
}
}
{
//处理样式类
var classAttribute = element.Attribute( classAttributePrefix );
if ( classAttribute != null )
{
if ( !string.IsNullOrWhiteSpace( classAttribute.AttributeValue ) )
{
var classes = Regulars.whiteSpaceSeparatorRegex.Split( classAttribute.AttributeValue ).Where( c => c != "" ).ToArray();
if ( classes.Any() )
element.Class( classes );
}
element.RemoveAttribute( classAttributePrefix );
}
}
{
var classAttributes = element.Attributes().Where( a => a.Name.StartsWith( classAttributePrefix ) ).ToArray();
BindElementClasses( element, classAttributes );
}
//处理CSS样式
var styleAttributes = element.Attributes().Where( a => a.Name.StartsWith( styleAttributePrefix ) ).ToArray();
BindElementStyles( element, styleAttributes );
}
示例2: BindElementClasses
/// <summary>
/// 绑定元素样式类
/// </summary>
/// <param name="element">要处理的元素</param>
/// <param name="classAttributes">样式类属性</param>
private static void BindElementClasses( IHtmlElement element, IHtmlAttribute[] classAttributes )
{
foreach ( var attribute in classAttributes )
{
var value = attribute.AttributeValue;
var name = attribute.Name.Substring( classAttributePrefix.Length );
attribute.Remove();
if ( string.IsNullOrEmpty( value ) )
continue;
else if ( value.EqualsIgnoreCase( "false" ) )
element.Class().Remove( name );
else
element.Class().Add( name );
}
}
示例3: BindElement
/// <summary>
/// 对元素进行数据绑定
/// </summary>
/// <param name="element">需要绑定数据的元素</param>
/// <param name="context">绑定上下文</param>
/// <param name="dataContext">数据上下文</param>
/// <returns>是否进行了绑定</returns>
public bool BindElement( IHtmlElement element, HtmlBindingContext context, out object dataContext )
{
dataContext = null;
if ( element.Attribute( "binding-visible" ) != null )
{
var visible = element.Attribute( "binding-visible" ).Value();
if ( visible.EqualsIgnoreCase( "false" ) || visible.EqualsIgnoreCase( "hidden" ) || visible.EqualsIgnoreCase( "invisible" ) )
element.Remove();
return true;
}
//处理样式类
{
var classAttribute = element.Attribute( classAttributeName );
if ( classAttribute != null )
{
if ( !string.IsNullOrWhiteSpace( classAttribute.AttributeValue ) )
{
var classes = Regulars.whiteSpaceSeparatorRegex.Split( classAttribute.AttributeValue ).Where( c => c != "" ).ToArray();
if ( classes.Any() )
element.Class( classes );
}
element.RemoveAttribute( classAttributeName );
}
}
//处理CSS样式
var styleAttributes = element.Attributes().Where( a => a.Name.StartsWith( styleAttributePrefix ) ).ToArray();
if ( styleAttributes.Any() )
BindElementStyles( element, styleAttributes );
if ( !element.Name.EqualsIgnoreCase( "view" ) && !element.Name.EqualsIgnoreCase( "binding" ) )
{
var dataContextExpression = AttributeExpression.ParseExpression( element.Attribute( "datacontext" ) );
if ( dataContextExpression != null )
dataContext = GetDataObject( dataContextExpression, context );
return false;
}
var expression = new AttributeExpression( element );
object dataObject = GetDataObject( expression, context );
if ( dataObject == null )
return false;
var format = element.Attribute( "format" ).Value();
//绑定到客户端脚本对象
var variableName = element.Attribute( "var" ).Value() ?? element.Attribute( "variable" ).Value();
if ( variableName != null )
{
if ( format != null )
dataObject = string.Format( format, dataObject );
var hostName = element.Attribute( "host" ).Value();
var script = (string) null;
if ( hostName == null )
script = string.Format( "(function(){{ this['{0}'] = {1} }})();", variableName, ToJson( dataObject ) );
else
script = string.Format( "(function(){{ this['{0}'] = {1} }})();", variableName, ToJson( dataObject ) );
element.ReplaceWith( string.Format( "<script type=\"text/javascript\">{0}</script>", script ) );
return true;
}
//绑定为 HTML 文本
var bindValue = string.Format( format ?? "{0}", dataObject );
var attributeName = element.Attribute( "attribute" ).Value() ?? element.Attribute( "attr" ).Value();
if ( attributeName != null )
{
var nextElement = element.NextElement();
if ( nextElement == null )
return false;
nextElement.SetAttribute( attributeName, bindValue );
return true;
}
element.ReplaceWith( bindValue );
return true;
}