internal void RemoveAttribute(string key)
 {
     if (AdditionalAttributes.ContainsKey(key))
     {
         AdditionalAttributes.Remove(key);
     }
 }
        /// <summary>
        /// OnParametersSet 方法
        /// </summary>
        protected override void OnParametersSet()
        {
            base.OnParametersSet();

            if (NullableUnderlyingType != null)
            {
                if (string.IsNullOrEmpty(PlaceHolder))
                {
                    // 设置 placeholder
                    if (AdditionalAttributes != null && AdditionalAttributes.TryGetValue("placeholder", out var pl))
                    {
                        PlaceHolder = pl?.ToString();
                        AdditionalAttributes.Remove("placeholder");
                    }
                }
                PlaceHolder ??= Localizer[nameof(PlaceHolder)];
            }

            // 内置对枚举类型的支持
            var t = NullableUnderlyingType ?? typeof(TValue);

            if (!Items.Any() && t.IsEnum())
            {
                var item = NullableUnderlyingType == null ? "" : PlaceHolder;
                Items = typeof(TValue).ToSelectList(string.IsNullOrEmpty(item) ? null : new SelectedItem("", item));
            }
        }
Beispiel #3
0
        /// <summary>
        /// Removes a flag from the user's User Account Control attribute.
        /// </summary>
        /// <param name="flag">A flag from the predefined UserAccountControl flags.</param>
        /// <returns>True if removed, false otherwise.</returns>
        public bool RemoveUserAccountControlFlag(ActiveDirectory.UserAccountControl flag)
        {
            // Use the normal user account control attribute.
            uint newUserAccountControl = UserAccountControl & ~(uint)flag;

            if (SetStringAttribute("userAccountControl", newUserAccountControl.ToString()))
            {
                // Remove the userAccountControl attribute from the list so it is refreshed on the next request for it.
                AdditionalAttributes.Remove("userAccountControl");
                return(true);
            }
            return(false);
        }
Beispiel #4
0
        /// <summary>
        ///
        /// </summary>
        protected override void OnInitialized()
        {
            base.OnInitialized();

            AdditionalAttributes?.Remove("data-placement");
            AdditionalAttributes?.Remove("data-trigger");
            if (SelectAdditionalAttributes == null)
            {
                SelectAdditionalAttributes = new Dictionary <string, object>();
            }
            if (!SelectAdditionalAttributes.TryGetValue("data-trigger", out var _))
            {
                SelectAdditionalAttributes["data-trigger"] = "hover focus";
            }
        }
Beispiel #5
0
    /// <summary>
    /// OnParametersSet 方法
    /// </summary>
    protected override void OnParametersSet()
    {
        // 不需要走 base.OnParametersSet 方法
        AdditionalAttributes ??= new Dictionary <string, object>();
        if (string.IsNullOrEmpty(PreviewUrl))
        {
            AdditionalAttributes.Add("onclick", "$.bb_printview(this)");
            Target = null;
        }
        else
        {
            AdditionalAttributes.Remove("onclick", out _);
            Target = "_blank";
        }

        if (string.IsNullOrEmpty(ButtonIcon))
        {
            ButtonIcon = "fa fa-print";
        }
    }