首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >问题:关于GridView边界字段ReadOnly属性

问题:关于GridView边界字段ReadOnly属性
EN

Stack Overflow用户
提问于 2008-11-25 00:23:35
回答 4查看 3.2K关注 0票数 1

我有一个Gridview边界字段,其中我将ReadOnly设置为true,因为我不希望用户更改它的值。然而,在objectdatasource控件的update方法中,当我尝试将其用作update方法中的参数时,它变成了null。有没有办法在更新过程中设置该值?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2008-11-25 01:56:54

当您在GridView上将字段标记为只读时,它在页面上呈现为span元素,而不是输入。因此,该值在PostBack上不可用。如果您可以构造update语句,使其不需要该字段,这将是处理此问题的最佳方法。如果update语句是自动生成的,并且您无法获得要更新的值,那么您可以在执行更新之前从数据库中读取值(以便拥有它),或者包含一个绑定到该列的HiddenField,并使用通过Eval而不是绑定获得该值的文字(如果需要)。这将需要使用模板。

代码语言:javascript
运行
复制
<asp:TemplateField>
    <InsertItemTemplate>
      <asp:TextBox runat="server" ID="itemTextBox" />
    </InsertItemTemplate>
    <EditItemTemplate>
      <asp:HiddenField runat="server" ID="itemHF" Value='<% Bind("Item") %>' />
      <asp:Label runat="server" ID="itemLabel" Text='<% Eval("Item") %>' />
    </EditItemTemplate>
    <ItemTemplate>
       <asp:Label runat="server" ID="itemLabel" Text='<% Bind("Item") %>' />
    </ItemTemplate>
</asp:TemplateField>
票数 3
EN

Stack Overflow用户

发布于 2009-03-27 00:47:42

不需要,只需将所需的字段名添加到GridView的DataKeyNames属性中即可。然后,该值将被发送到更新命令。

票数 5
EN

Stack Overflow用户

发布于 2013-03-28 03:29:14

另一种方法是向tableadapter添加一个新查询。创建一个update查询,它只使用需要更新的字段。在ODS上选择更新方法时,选择更新查询。现在可以将不属于update查询一部分的BoundFields转换为readonly=true,它应该可以工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/315968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档