VS2005 RESOURCE MANAGEMENT
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
/// <summary>
/// Aoumatically load all resources for server controls on target page .
/// </summary>
public static class TextResourceManager
{
#region Public
/// <summary>
/// Gets string resource from resources file by control's ID and assigns the string to control's Value or Test property .
/// </summary>
/// <param name="control"></param>
public static void LoadResource(System.Web.UI.Control control)
{
SetControlText(control, GetString(control.ID));
}
/// <summary>
/// Aoumatically loads all resources for server controls on target page .
/// </summary>
/// <param name="targetPage"></param>
public static void LoadResources(System.Web.UI.Page targetPage)
{
foreach (System.Web.UI.Control subControl in targetPage.Controls)
{
LoadResources(subControl);
}
}
/// <summary>
/// Aoumatically loads all resources for server controls on container control .
/// </summary>
/// <param name="containerControl"></param>
public static void LoadResources(System.Web.UI.Control containerControl)
{
string resource = "";
foreach (System.Web.UI.Control subControl in containerControl.Controls)
{
resource = GetString(subControl.ID);
if (!string.IsNullOrEmpty(resource))
{
SetControlText(subControl, resource);
}
if (subControl.Controls.Count > 0)
{
LoadResources(subControl);
}
}
}
public static void LoadResources(GridView gridview)
{
string resource = "";
foreach (DataControlField header in gridview.Columns)
{
resource = GetString(header.HeaderText);
if (!string.IsNullOrEmpty(resource))
{
header.HeaderText = resource;
}
}
}
/// <summary>
/// Gets string resource from resources file by resource name .
/// </summary>
/// <param name="resourceName"></param>
/// <returns></returns>
public static string GetString(string resourceName)
{
string value = "";
if (string.IsNullOrEmpty(resourceName))
{
return value;
}
try
{
SetCulture(Resources.Resource.Culture);
value = Resources.Resource.ResourceManager.GetString(resourceName);
}
catch
{
}
return value;
}
/// <summary>
/// Setup current Thread's culture by culture name . such as "en-us" .
/// </summary>
/// <param name="cultureName"></param>
public static void SetCulture(string cultureName)
{
try
{
Resources.Resource.Culture = new System.Globalization.CultureInfo(cultureName);
System.Threading.Thread.CurrentThread.CurrentCulture = Resources.Resource.Culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = Resources.Resource.Culture;
}
catch
{
}
}
/// <summary>
/// Setup current Thread's culture .
/// </summary>
/// <param name="culture"></param>
public static void SetCulture(System.Globalization.CultureInfo culture)
{
try
{
Resources.Resource.Culture = culture;
System.Threading.Thread.CurrentThread.CurrentCulture = Resources.Resource.Culture;
System.Threading.Thread.CurrentThread.CurrentUICulture = Resources.Resource.Culture;
}
catch
{
}
}
#endregion
#region Private
/// <summary>
///
/// </summary>
/// <param name="control"></param>
/// <param name="value"></param>
private static void SetControlText(System.Web.UI.Control control, object value)
{
if (control == null || value==null)
{
return;
}
System.Reflection.PropertyInfo controlPropertyInfo = control.GetType().GetProperty("Value");
if (controlPropertyInfo != null)
{
controlPropertyInfo.SetValue(control, value, null);
}
controlPropertyInfo = control.GetType().GetProperty("Text");
if (controlPropertyInfo != null)
{
controlPropertyInfo.SetValue(control, value, null);
}
}
#endregion
}
浙公网安备 33010602011771号