Fixes #28732 Macro container slows down big times when allowed macroes int are getting bigger.

[TFS Changeset #80227]
This commit is contained in:
starfighter83
2010-11-19 11:37:47 +00:00
parent 64b43ce189
commit c4e5bae76e

View File

@@ -37,7 +37,7 @@ namespace umbraco.editorControls.macrocontainer
_macroSelectDropdown.Items.Add(new ListItem(umbraco.ui.Text("choose"), ""));
foreach (string item in _allowedMacros)
{
_macroSelectDropdown.Items.Add(new ListItem(Macro.GetByAlias(item).Name, item));
_macroSelectDropdown.Items.Add(new ListItem(GetMacroNameFromAlias(item), item));
}
_macroSelectDropdown.AutoPostBack = true;
@@ -58,6 +58,20 @@ namespace umbraco.editorControls.macrocontainer
this.Controls.Add(_formTable);
}
//using this to solve to eager loading,
// replaces _macroSelectDropdown.Items.Add(new ListItem(Macro.GetByAlias(item).Name, item));
// with _macroSelectDropdown.Items.Add(new ListItem(GetMacroNameFromAlias(item), item));
private string GetMacroNameFromAlias(string alias)
{
umbraco.DataLayer.IRecordsReader dr = umbraco.BusinessLogic.Application.SqlHelper.ExecuteReader("select macroName from cmsMacro where macroAlias = @alias",
umbraco.BusinessLogic.Application.SqlHelper.CreateParameter("@alias", alias));
if (dr.Read())
return dr.GetString("macroName");
else
return string.Empty;
}
void _delete_Click(object sender, EventArgs e)
{
_macroSelectDropdown.SelectedIndex = 0;