在ASP.NET页面中标记对象的最佳方式是什么。(数据库中的资源)

在ASP.NET页面中标记对象的最佳方式是什么。(数据库中的资源),asp.net,label,controls,multilingual,Asp.net,Label,Controls,Multilingual,我想知道在asp.net页面中标记对象(标签、gridview列、ValidatorCallout)的最佳方法是什么,其中的信息(文本)位于数据库的表中(表的id为object name Language1,Language2)。 我现在拥有的是一个方法,该方法获取我正在打开的页面上的所有控件(用户的语言)并登录,它通过传递“id screen”对表进行查询,该“id screen”返回相同的所有对象。在循环中完成此操作后,屏幕上的所有控件都将检查控件类型(标签、RequiredFieldVa

我想知道在asp.net页面中标记对象(标签、gridview列、ValidatorCallout)的最佳方法是什么,其中的信息(文本)位于数据库的表中(表的id为object name Language1,Language2)。
我现在拥有的是一个方法,该方法获取我正在打开的页面上的所有控件(用户的语言)并登录,它通过传递“id screen”对表进行查询,该“id screen”返回相同的所有对象。在循环中完成此操作后,屏幕上的所有控件都将检查控件类型(标签、RequiredFieldValidator)以正确设置属性(.Text if Label、.ErrorMessage if RequiredFieldValidator)。不幸的是,速度非常慢。是否有这样做的最佳实践

注意:App_LocalResources(.resx)不适用于我的情况

方法:

 public void RotularObjetos(Control ctl)
        {
            foreach (Control c in ctl.Controls)
            {
                if (c.GetType() == typeof(Label))
                {
                    var dicionario = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                          ((Label)(c)).ID);

                    if (dicionario == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0, ((Label)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto.Label.GetHashCode(),
                                                         ((Label)(c)).Text,
                                                         ((Label)(c)).ToolTip == string.Empty
                                                             ? ((Label)(c)).Text
                                                             : ((Label)(c)).ToolTip);
                    }
                    else
                    {
                        ((Label)(c)).Text = dicionario.DS_ALIAS;
                        ((Label)(c)).ToolTip = dicionario.DS_HELP;
                    }
                }
                else if (c.GetType() == typeof(RequiredFieldValidator))
                {
                    var dicionario = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                          ((RequiredFieldValidator)(c)).ID);

                    if (dicionario == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0,
                                                         ((RequiredFieldValidator)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto
                                                                 .RequiredFieldValidator.GetHashCode(),
                                                         ((RequiredFieldValidator)(c)).ErrorMessage,
                                                         ((RequiredFieldValidator)(c)).ToolTip == string.Empty
                                                             ? ((RequiredFieldValidator)(c)).ErrorMessage
                                                             : ((RequiredFieldValidator)(c)).ToolTip);
                    }
                    else
                    {
                        ((RequiredFieldValidator)(c)).ErrorMessage = dicionario.DS_ALIAS;
                        ((RequiredFieldValidator)(c)).ToolTip = dicionario.DS_HELP;
                    }
                }
                else if (c.GetType() == typeof(LinkButton))
                {
                    var dicionario = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                          ((LinkButton)(c)).ID);

                    if (dicionario == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0, ((LinkButton)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto.LinkButton
                                                                 .GetHashCode(), ((LinkButton)(c)).Text,
                                                         ((LinkButton)(c)).ToolTip == string.Empty
                                                             ? ((LinkButton)(c)).Text
                                                             : ((LinkButton)(c)).ToolTip);
                    }
                    else
                    {
                        ((LinkButton)(c)).Text = dicionario.DS_ALIAS;
                        ((LinkButton)(c)).ToolTip = dicionario.DS_HELP;
                    }
                }
                else if (c.GetType() == typeof(ImageButton))
                {
                    var dicionario = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                          ((ImageButton)(c)).ID);

                    if (dicionario == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0, ((ImageButton)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto.ImageButton
                                                                 .GetHashCode(), string.Empty,
                                                         ((ImageButton)(c)).ToolTip == string.Empty
                                                             ? string.Empty
                                                             : ((ImageButton)(c)).ToolTip);
                    }
                    else
                    {
                        ((ImageButton)(c)).ToolTip = dicionario.DS_HELP;
                    }
                }
                else if (c.GetType() == typeof(CheckBox))
                {
                    var dicionario = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                          ((CheckBox)(c)).ID);

                    if (dicionario == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0, ((CheckBox)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto.CheckBox
                                                                 .GetHashCode(), string.Empty,
                                                         ((CheckBox)(c)).ToolTip == string.Empty
                                                             ? string.Empty
                                                             : ((CheckBox)(c)).ToolTip);
                    }
                    else
                    {
                        ((CheckBox)(c)).Text = dicionario.DS_ALIAS;
                        ((CheckBox)(c)).ToolTip = dicionario.DS_HELP;
                    }
                }
                else if (c.GetType() == typeof(Button))
                {
                    var dicionario = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                          ((Button)(c)).ID);

                    if (dicionario == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0, ((Button)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto.Button.GetHashCode
                                                             (), ((Button)(c)).Text,
                                                         ((Button)(c)).ToolTip == string.Empty
                                                             ? ((Button)(c)).Text
                                                             : ((Button)(c)).ToolTip);
                    }
                    else
                    {
                        ((Button)(c)).Text = dicionario.DS_ALIAS;
                        ((Button)(c)).ToolTip = dicionario.DS_HELP;
                    }
                }
                else if (c.GetType() == typeof(RadioButton))
                {
                    var dicionario = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                          ((RadioButton)(c)).ID);

                    if (dicionario == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0, ((RadioButton)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto.RadioButton
                                                                 .GetHashCode(), ((RadioButton)(c)).Text,
                                                         ((RadioButton)(c)).ToolTip == string.Empty
                                                             ? ((RadioButton)(c)).Text
                                                             : ((RadioButton)(c)).ToolTip);
                    }
                    else
                    {
                        ((RadioButton)(c)).Text = dicionario.DS_ALIAS;
                        ((RadioButton)(c)).ToolTip = dicionario.DS_HELP;
                    }
                }
                else if (c.GetType() == typeof(GridView))
                {
                    var grid = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                    ((GridView)(c)).ID);

                    if (grid == null)
                    {
                        ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, 0, ((GridView)(c)).ID,
                                                         AutoWare.FrameWork.ManterAmbiente.TipoObjeto.GridView
                                                                 .GetHashCode(), ((GridView)(c)).ToolTip,
                                                         ((GridView)(c)).ToolTip);
                        grid = ambiente.ListaObjeto(this.Modulo, this.IdEmpresa, this.IdIdioma, this.IdUsuario,
                                                    ((GridView)(c)).ID);

                        foreach (DataControlField child in ((GridView)(c)).Columns)
                        {
                            var coluna = ambiente.ListaObjeto(this.Modulo, grid.ID_DICIONARIO_OBJETO, this.IdEmpresa,
                                                              this.IdIdioma, this.IdUsuario, child.HeaderText);
                            if (coluna == null && child.HeaderText != string.Empty)
                                ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, grid.ID_DICIONARIO_OBJETO,
                                                                 child.HeaderText,
                                                                 AutoWare.FrameWork.ManterAmbiente.TipoObjeto
                                                                         .GridViewColumn.GetHashCode(), child.HeaderText,
                                                                 child.HeaderText);
                            else if (coluna != null)
                                child.HeaderText = coluna.DS_ALIAS;
                        }
                    }
                    else
                    {
                        ((GridView)(c)).ToolTip = grid.DS_HELP;

                        foreach (DataControlField child in ((GridView)(c)).Columns)
                        {
                            var coluna = ambiente.ListaObjeto(this.Modulo, grid.ID_DICIONARIO_OBJETO, this.IdEmpresa,
                                                              this.IdIdioma, this.IdUsuario, child.HeaderText);
                            if (coluna == null && child.HeaderText != string.Empty)
                                ambiente.IncluirDicionarioObjeto(this.Modulo, this.IdIdioma, grid.ID_DICIONARIO_OBJETO,
                                                                 child.HeaderText,
                                                                 AutoWare.FrameWork.ManterAmbiente.TipoObjeto
                                                                         .GridViewColumn.GetHashCode(), child.HeaderText,
                                                                 child.HeaderText);
                            else if (coluna != null)
                                child.HeaderText = coluna.DS_ALIAS;
                        }
                    }
                }

                RotularObjetos(c);
            }
        }

非常感谢。

您能发布执行属性设置的代码吗?我在问题中添加了我使用的函数。拥抱