개발하면서 많이 사용하는 단순 반복 코드로써 프로그램 개발시 유용하게 사용할 수 있다.
<summary>
/// Object 확장 객체
/// </summary>
public static class ObjectExtention
{
/// <summary>
/// null 확인용
/// </summary>
/// <param name="Value">대상 객체 (또는 배열)</param>
/// <returns>null 여부</returns>
public static bool IsNull(this object Value)
{
return Object.Equals(Value, null); // 단순 확인용.
}
/// <summary>
/// null이 아닌지 확인용
/// </summary>
/// <param name="Value">대상 객체 (또는 배열)</param>
/// <returns>null 여부</returns>
public static bool IsNotNull(this object Value)
{
return Object.Equals(Value, null) == false; // 단순 확인용.
}
/// <summary>
/// NULL 또는 공백 확인
/// </summary>
/// <param name="Value">대상 문자열</param>
/// <returns>NULL 또는 공백 여부</returns>
public static bool IsNullOrEmpty(this string Value)
{
return String.IsNullOrEmpty(Value); // 단순 확인용.
}
/// <summary>
/// 공백이 아님 여부를 확인
/// </summary>
/// <param name="Value">대상 문자열</param>
/// <returns>공백이 아님 여부</returns>
public static bool IsNotEmpty(this string Value)
{
return String.IsNullOrEmpty(Value) == false; // 단순 확인용.
}
/// <summary>
/// 공백이 아님 여부를 확인
/// </summary>
/// <param name="Value">대상 문자열</param>
/// <returns>공백이 아님 여부</returns>
public static bool IsNotEmptyWithTrim(this string Value)
{
if (String.IsNullOrEmpty(Value))
return false;
string temp = Value.Trim();
return temp.Length > 0;
}
/// <summary>
/// GUID 문자열인지 확인
/// </summary>
/// <param name="Value">대상 문자열</param>
/// <returns>GUID 여부</returns>
public static bool IsGuid(this string Value)
{
Guid temp = Guid.Empty;
if (Guid.TryParse(Value, out temp))
return true;
else
return false;
}
/// <summary>
/// 일반 문자열을 Html로 인코딩 된 문자열로
/// </summary>
/// <param name="Value">대상 문자열</param>
/// <returns>변경된 문자열</returns>
public static string ToStringHtml(this string Value, bool EmptyToHtmlSpec = false)
{
if (Value.IsNull())
return Value;
else if (Value == "")
{
if (EmptyToHtmlSpec)
{
return " ";
}
else
{
return "";
}
}
return System.Web.HttpUtility.HtmlEncode(Value);
}
/// <summary>
/// 널일경우 공백 문자로
/// </summary>
/// <returns>null이 아닌 문자열</returns>
public static string ToStringNotNull(this string Source)
{
if (String.IsNullOrEmpty(Source))
return "";
else
return Source;
}
/// <summary>
/// 널일경우 공백 문자로
/// </summary>
/// <returns>null이 아닌 문자열</returns>
public static string ToStringNotNull(this int? Source)
{
if (Source.HasValue)
return Source.Value.ToString();
else
return "";
}
/// <summary>
/// 문자열을 숫자형태으로 변환
/// </summary>
/// <param name="Source">대상 문자열</param>
/// <returns>변환된 숫자</returns>
public static int? ToNullableInt(this string Source)
{
if (String.IsNullOrEmpty(Source))
return null;
else
{
int returnvalue = 0;
if (int.TryParse(Source, out returnvalue))
{
return returnvalue;
}
else
{
return null;
}
}
}
/// <summary>
/// 문자열을 bool 형식으로
/// </summary>
/// <param name="Value">대상 문자열</param>
/// <returns>bool 값</returns>
public static bool ToBoolean(this string Value)
{
if (Value.IsNullOrEmpty())
return false;
string[] truelist = new string[] { "Y", "y", "1", "true", "True", "TRUE" };
return truelist.Contains(Value);
}
}
/// <summary>
/// 리피터 확장 객체
/// </summary>
public static class RepeaterExtention
{
/// <summary>
/// Html컨트롤 Value 설정
/// </summary>
/// <param name="Target">리피터 아이템</param>
/// <param name="ControlName">컨트롤 명</param>
/// <param name="Value">설정하고자 하는 값</param>
public static void SetInputValue(this RepeaterItem Target, string ControlName, string Value)
{
((HtmlInputControl)Target.FindControl(ControlName)).Value = Value.ToStringNotNull();
}
/// <summary>
/// Html컨트롤 Value을 가져옴
/// </summary>
/// <param name="Target">리피터 아이템</param>
/// <param name="ControlName">컨트롤 명</param>
public static string GetInputValue(this RepeaterItem Target, string ControlName)
{
return ((HtmlInputControl)Target.FindControl(ControlName)).Value;
}
/// <summary>
/// 컨트롤 Text 설정
/// </summary>
/// <param name="Target">리피터 아이템</param>
/// <param name="ControlName">컨트롤 명</param>
/// <param name="Value">설정하고자 하는 값</param>
public static void SetText(this RepeaterItem Target, string ControlName, string Value)
{
((ITextControl)Target.FindControl(ControlName)).Text = Value.ToStringNotNull();
}
/// <summary>
/// 컨트롤 Attribute 설정
/// </summary>
/// <param name="Target">리피터 아이템</param>
/// <param name="ControlName">컨트롤 명</param>
/// <param name="Key">대상 속성 키 값</param>
/// <param name="Value">설정하고자 하는 값</param>
public static void SetAttribute(this RepeaterItem Target, string ControlName, string Key, string Value)
{
((System.Web.UI.IAttributeAccessor)Target.FindControl(ControlName)).SetAttribute(Key, Value);
}
/// <summary>
/// 컨트롤 Text을 가져옴
/// </summary>
/// <param name="Target">리피터 아이템</param>
/// <param name="ControlName">컨트롤 명</param>
/// <returns>Text 값</returns>
public static string GetText(this RepeaterItem Target, string ControlName)
{
return ((ITextControl)Target.FindControl(ControlName)).Text;
}
/// <summary>
/// 컨트롤 Visible 설정
/// </summary>
/// <param name="Target">리피터 아이템</param>
/// <param name="ControlName">컨트롤 명</param>
/// <param name="Visible">설정하고자 하는 값</param>
public static void SetVisible(this RepeaterItem Target, string ControlName, bool Visible)
{
((System.Web.UI.Control)Target.FindControl(ControlName)).Visible = Visible;
}
/// <summary>
/// 컨트롤 Enabled 설정
/// </summary>
/// <param name="Target">리피터 아이템</param>
/// <param name="ControlName">컨트롤 명</param>
/// <param name="Enabled">설정하고자 하는 값</param>
public static void SetWebControlEnabled(this RepeaterItem Target, string ControlName, bool Enabled)
{
((System.Web.UI.WebControls.WebControl)Target.FindControl(ControlName)).Enabled = Enabled;
}
/// <summary>
/// 컨트롤 객체 가져오기 설정
/// </summary>
/// <typeparam name="TControlType">컨트롤 형식</typeparam>
/// <param name="Target">대상 Repeater 항목</param>
/// <param name="ControlName">컨트롤 명</param>
/// <returns>객체</returns>
public static TControlType GetControl<TControlType>(this RepeaterItem Target, string ControlName)
where TControlType : System.Web.UI.Control
{
return Target.FindControl(ControlName) as TControlType;
}
/// <summary>
/// 웹컨트롤 객체 가져오기 설정
/// </summary>
/// <typeparam name="TControlType">컨트롤 형식</typeparam>
/// <param name="Target">대상 Repeater 항목</param>
/// <param name="ControlName">컨트롤 명</param>
/// <returns>객체</returns>
public static TControlType GetWebControl<TControlType>(this RepeaterItem Target, string ControlName)
where TControlType : System.Web.UI.WebControls.WebControl
{
return Target.FindControl(ControlName) as TControlType;
}
/// <summary>
/// Html 컨트롤 객체 가져오기 설정
/// </summary>
/// <typeparam name="TControlType">컨트롤 형식</typeparam>
/// <param name="Target">대상 Repeater 항목</param>
/// <param name="ControlName">컨트롤 명</param>
/// <returns>객체</returns>
public static TControlType GetHtmlControl<TControlType>(this RepeaterItem Target, string ControlName)
where TControlType : System.Web.UI.HtmlControls.HtmlControl
{
return Target.FindControl(ControlName) as TControlType;
}
}
'ASP.Net' 카테고리의 다른 글
string에서 문자열 가공할 때 활용 가능한 코드 (0) | 2015.07.31 |
---|---|
WebMethod (0) | 2015.07.31 |
TreeView (0) | 2015.07.31 |
브라우저및 접속자 pc정보 (0) | 2015.07.31 |
[오류처리]구성요소 assembly (0) | 2015.07.31 |
댓글