首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GridView TemplateField中的禁用按钮

GridView TemplateField中的禁用按钮
EN

Stack Overflow用户
提问于 2012-02-22 15:41:03
回答 4查看 5.8K关注 0票数 2

我有下面的gridview控件

代码语言:javascript
复制
<asp:Panel runat="server" ID="pnlBeforeSave" Visible="true">
<asp:GridView ID="gvP" runat="server" AutoGenerateColumns="false" AllowPaging="false"
  AllowSorting="false" CssClass="list-table" HeaderStyle-CssClass="header">
  <Columns>

  <asp:TemplateField HeaderText="Action" ItemStyle-Width="20%" HeaderStyle-HorizontalAlign="Center"
  ItemStyle-CssClass="unsortable">
  <ItemTemplate>
  <input id="btnPay" type="button" onclick="javascript:OpenEditPaymentItemDialogPage('<%# Eval("PmtId") %>');"
   value="Edit" class="button save" style="width: 80px" />
   </ItemTemplate>
   </asp:TemplateField>
   </Columns>
   </asp:GridView>
</asp:Panel>

在我将griview数据集保存到数据库后,我必须禁用griview。但btnPay仍处于启用状态。我需要从任何想法背后的代码来做吗?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-02-22 17:04:16

我已经做完了。

C#

代码语言:javascript
复制
ScriptManager.RegisterStartupScript(this, this.GetType(), "HidePaymentItemButtons", "javascript:disableAllButtons_PT;", true);

JS

代码语言:javascript
复制
        function disableAllButtons_PT() {
        var gridViewID = "<%=gvPamentItemsList.ClientID %>";
        var gridView = document.getElementById(gridViewID);
        var gridViewControls = gridView.getElementsByTagName("input");

        for (i = 0; i < gridViewControls.length; i++) {
            // if this input type is button, disable
            if (gridViewControls[i].type == "submit") {
                gridViewControls[i].disabled = true;
            }
        }
票数 0
EN

Stack Overflow用户

发布于 2012-02-22 15:48:46

您需要通过添加使用RunAt=“type=”元素来使输入“按钮”在代码后台可访问

因此,您的代码将如下所示

代码语言:javascript
复制
<ItemTemplate>   
<input ruat="server" id="btnPay" type="button" onclick="javascript:OpenEditPaymentItemDialogPage('<%# Eval("PmtId") %>');"    value="Edit" class="button save" style="width: 80px" />  
  </ItemTemplate> 

或者使用Asp:Button

代码语言:javascript
复制
<ItemTemplate>   
<asp:button ruat="server" id="btnPay" type="button" onClientclick="javascript:OpenEditPaymentItemDialogPage('<%# Eval("PmtId") %>');"    value="Edit" class="button save" style="width: 80px" >   </asp:button>
  </ItemTemplate> 

然后利用datagridview的RowDataBound事件和disable按钮..

票数 1
EN

Stack Overflow用户

发布于 2012-02-22 15:51:12

保存数据后,放入以下代码。我测试过了。onlcick已禁用。

代码语言:javascript
复制
for (int i = 0; i < gvP.Rows.Count; i++)
{
   HtmlInputButton btn = (HtmlInputButton)gvP.Rows[i].FindControl("btnPay");
   if (btn != null) btn.Disabled = true;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9390854

复制
相关文章

相似问题

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