假设我有一堆DetailsView
字段,我只希望某些类型的用户编辑其中一些字段。它们太少而不能将它们分成另一个DetailsView
,所以我想要的是找到一些方法只允许用户根据一些代码隐藏逻辑对它们进行编辑,从而有效地将它们设置为只读将
我觉得重要的是要提到这些字段都是TemplateField
s,而不是具有BoundField
属性的普通ReadOnly
。
有什么想法吗?由于某种原因,所需的功能不会让我跳过阅读文档。
哦,我需要eveyone来查看他们的具体值,我只想限制对他们的编辑访问。
答案 0 :(得分:3)
Hrm显然就像将问题字段的EditItemTemplate
属性设置为null
一样简单。到目前为止似乎工作正常!
编辑:一个简短的代码示例,显示我是如何做到的:
foreach (DataControlField field in dvDRDetails.Fields)
if (!fieldstoignore.Contains(field.HeaderText))
if (field is TemplateField)
((TemplateField)field).EditItemTemplate = null;
else if (field is BoundField)
((BoundField)field).ReadOnly = true;
fieldstoignore
是一个我总是设置为可编辑的字段标题数组。剩下的分为两类:TemplateField
需要我上面讨论过的黑客,而BoundField
有ReadOnly
属性我可以设置。