/// <summary> /// Makes register directives string representation. /// </summary> /// <remarks> /// Returns things like <%@ Register TagPrefix=\"uc1\" TagName=\"AvanteamTextField\" Src=\"Avanteam.Library.WebRenderFields\" %>. /// </remarks> /// <returns></returns> public override string ToString() { if (_registerDirectivesText == null) { _registerDirectivesText = String.Empty; IEnumerator iEnumerator = _registerDirectiveTable.Values.GetEnumerator(); try { while (iEnumerator.MoveNext()) { RegisterDirective registerDirective = (RegisterDirective)iEnumerator.Current; _registerDirectivesText = String.Concat(_registerDirectivesText, registerDirective.ToString()); } } finally { IDisposable iDisposable = iEnumerator as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } } return(_registerDirectivesText); }
/// <summary> /// Get directive. /// </summary> /// <param name="tagPrefix"></param> /// <param name="tagName"></param> /// <returns></returns> public IRegisterDirective GetRegisterDirective(string tagPrefix, string tagName) { tagPrefix = tagPrefix.ToLower(); if (tagName != null) { tagName = tagName.ToLower(); } RegisterDirective registerDirective = (RegisterDirective)_registerDirectiveTable[tagPrefix]; if (registerDirective == null && tagName != null && tagName.Length != 0) { registerDirective = (RegisterDirective)_registerDirectiveTable[String.Concat(tagPrefix, ":", tagName)]; } return(registerDirective as IRegisterDirective); }
/// <summary> /// get tag name /// </summary> /// <param name="objectType"></param> /// <returns></returns> public string GetTagName(Type objectType) { string otNamespace = objectType.Namespace; string otAssemname = objectType.Assembly.GetName().Name; IEnumerator iEnumerator = _registerDirectiveTable.Values.GetEnumerator(); try { while (iEnumerator.MoveNext()) { RegisterDirective registerDirective = (RegisterDirective)iEnumerator.Current; if (registerDirective.ObjectType != null) { if (String.Compare(registerDirective.ObjectType.FullName, objectType.FullName, true) == 0) { if (!String.IsNullOrEmpty(registerDirective.TagName)) { return(registerDirective.TagName); } else { return(objectType.Name); } } } if (!registerDirective.IsUserControl && String.Compare(registerDirective.NamespaceName, otNamespace, true) == 0 && String.Compare(registerDirective.AssemblyName, otAssemname, true) == 0) { return(registerDirective.TagName); } } } finally { IDisposable iDisposable = iEnumerator as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } return(null); }
/// <summary> /// get prefix /// </summary> /// <param name="objectType"></param> /// <returns></returns> public string GetTagPrefix(Type objectType) { string otNamespace = objectType.Namespace; string otAssemname = objectType.Assembly.GetName().Name; if (otNamespace != null && otNamespace.Equals(ASPNAMESPACE) && otAssemname.Equals(ASPASSEMBLY)) { return(ASPTAGPREFIX); } IEnumerator iEnumerator = _registerDirectiveTable.Values.GetEnumerator(); try { while (iEnumerator.MoveNext()) { RegisterDirective registerDirective = (RegisterDirective)iEnumerator.Current; if (registerDirective.ObjectType != null) { if (String.Compare(registerDirective.ObjectType.FullName, objectType.FullName, true) == 0) { return(registerDirective.TagPrefix); } } if (!registerDirective.IsUserControl && String.Compare(registerDirective.NamespaceName, otNamespace, true) == 0 && String.Compare(registerDirective.AssemblyName, otAssemname, true) == 0) { return(registerDirective.TagPrefix); } } } finally { IDisposable iDisposable = iEnumerator as IDisposable; if (iDisposable != null) { iDisposable.Dispose(); } } return(null); }