protected virtual void CallTemplate(ScriptPosition position, string template, string name, params object[] args)
{
StringBuilder sb = new StringBuilder();
if (args != null && args.Length > 0)
{
foreach (object arg in args)
{
if (arg is string)
{
sb.AppendFormat("{0},", TokenUtils.ParseAndNormalize(arg.ToString(), this.SafeResourceManager ));
}
else
{
sb.AppendFormat("{0},", JSON.Serialize(arg, JSON.AltConvertersInternal));
}
}
}
string script = template.FormatWith(this.CallID, name, sb.ToString().LeftOfRightmostOf(','));
switch (position)
{
case ScriptPosition.BeforeInit:
this.ResourceManager.RegisterBeforeClientInitScript(script);
break;
case ScriptPosition.AfterInit:
this.ResourceManager.RegisterAfterClientInitScript(script);
break;
default:
this.AddScript(script);
break;
}
}