加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – “更新/取消”按钮不会出现在TemplateField Edit按钮

发布时间:2020-12-16 06:49:25 所属栏目:asp.Net 来源:网络整理
导读:使用CommandField在Gridview的每一行中创建编辑按钮时,单击后会显示更新/取消按钮,因此您可以接受/取消更改. 但是,我想要一个包含工具提示文本的编辑按钮,由于CommandField没有tooltip属性,我使用了TemplateField.它使用删除按钮,但我遇到编辑按钮的问题: a
使用CommandField在Gridview的每一行中创建编辑按钮时,单击后会显示更新/取消按钮,因此您可以接受/取消更改.
但是,我想要一个包含工具提示文本的编辑按钮,由于CommandField没有tooltip属性,我使用了TemplateField.它使用删除按钮,但我遇到编辑按钮的问题:

<asp:GridView ID="GridView1" runat="server" 
                    AllowPaging="True" AllowSorting="True"
                    DataMember="DefaultView" 
                    DataSourceID="SqlDataSource1" AutoGenerateColumns="False" 
                    DataKeyNames=FIELD,FIELD,FIELD" CellPadding="4" ForeColor="#333333" Width="90%"
                    Height="90%" Font-Size="Small">
                    <RowStyle BackColor="#EFF3FB" />
                    <Columns>
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" ReadOnly="True" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" ReadOnly="True" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" ReadOnly="True" 
                            SortExpression="FIELD" />
                        <asp:BoundField DataField="FIELD" HeaderText="FIELD" 
                            SortExpression="FIELD" />                        
                            <asp:CommandField ButtonType="Image"  Visible="true" EditText="Edit" ShowEditButton="True" EditImageUrl="images/pencil1.png"></asp:CommandField>                            
                            <asp:TemplateField >
                            <ItemTemplate>
                             <asp:ImageButton ID="deleteButton" runat="server" CommandName="Delete" Text="Delete" 
                                        OnClientClick="return confirm('?Are you sure?');" ToolTip="delete" ImageUrl="images/DeleteRed1.png" />
                            </ItemTemplate>                                     
                            </asp:TemplateField>
                    </Columns>                    
                    <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                    <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
                    <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                    <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                    <EditRowStyle BackColor="#2461BF" />
                    <AlternatingRowStyle BackColor="White" />
                </asp:GridView>

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
                    ConnectionString="<%$ConnectionStrings:DBUserInterfaceConnectionString %>"                     
                    SelectCommand="SELECT ... FROM ...  INNER JOIN ... ON ..."
                    DeleteCommand="DELETE FROM ... WHERE ...=@param;"
                    UpdateCommand="UPDATE ... SET ... = @param,... = @param2 WHERE ... = @param3 and ... = @param4 and ... = @param5;"
                    >
                    </asp:SqlDataSource>

正如我之前所说,我用以下命令替换了CommandField:

<asp:TemplateField >
<ItemTemplate> 
<asp:ImageButton ID="editButton" runat="server" CommandName="Edit" Text="Edit" ToolTip="Edit" ImageUrl="images/pincel1.png" />  
</ItemTemplate>
</asp:TemplateField >

但是“更新/取消”按钮没有出现,所以我无法更新/编辑任何内容.为什么会这样?

任何实现成功编辑按钮的想法?

笔记:

>两个按钮后面都没有vb代码,由于某些原因,删除按钮只能在SqlDataSource中使用DeleteCommand,如果我尝试删除该命令,它会提示错误,因为没有指定DeleteCommand.
> UpdateCommand没有用处,可以删除.我可以用它作为更新按钮而不是编辑按钮,但是当我尝试时,它说@params不知道,这就是我决定使用编辑按钮的原因.

解决方法

< asp:TemplateField>当您要为GridView控件中的每个项目设置自己定义的用户定义内容时使用.

< asp:CommandField>当您想使用预定义的命令按钮执行选择,编辑或删除操作时使用.检查MSDN here.

因此,当您使用自己的用户定义方式进行编辑按钮时,还需要为Update&amp ;;指定自定义内容方式.取消按钮< EditItemTemplate>如:

<asp:TemplateField >            
<ItemTemplate> 
<asp:ImageButton ID="editButton" runat="server" CommandName="Edit" Text="Edit" 
     ToolTip="Edit" ImageUrl="images/pincel1.png" />  
</ItemTemplate>            
<EditItemTemplate>
<asp:ImageButton ID="BtnUpdate" runat="server" CommandName="Update" Text="Update" 
     OnClick="BtnUpdate_Click" ImageUrl="images/Update.png"/>
<asp:ImageButton ID="BtnCancel" runat="server" CommandName="Cancel" Text="Cancel" 
     OnClick="BtnCancel_Click" ImageUrl="images/Cancel.png"/>
</EditItemTemplate>        
</asp:TemplateField >

并确保,只有当您再次提供自定义实施更新和&取消逻辑,您还可以为这两个更新和取消按钮定义onclick事件.否则从这些按钮的标记中删除OnClick.[BtnUpdate_Click& BtnCancel_点击这里.]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读