有没有人编写过一个可以将aspx页面上的所有控件转换为只读版本的函数?例如,如果使用UserDetails.aspx编辑和保存用户信息,如果具有不适当权限的人进入该页面,我想将其呈现为只读.因此,大多数控件将转换为标签,加载来自可编辑原始控件的相应数据.
我认为这可能是一个相当简单的例程,即:
Dim ctlParent As Control = Me.txtTest.Parent Dim ctlOLD As TextBox = Me.txtTest Dim ctlNEW As Label = New Label ctlNEW.Width = ctlOLD.Width ctlNEW.Text = ctlOLD.Text ctlParent.Controls.Remove(ctlOLD) ctlParent.Controls.Add(ctlNEW)
...实际上你需要一个文本框 - >标签转换,但我希望有人可能知道现有的功能,因为在这里和某些控制和情况可能存在一些陷阱.
更新:
- 只是将ReadOnly属性设置为true不是一个可行的解决方案,因为它看起来很愚蠢,事情就像那样灰色. - 避免手动创建辅助视图就是这一点,所以使用巧妙的方式来显示使用标签手工构建的用户界面的只读版本是我想避免的.
谢谢!!