c# - 如何为 DetailsView 的插入和取消按钮分配不同的样式?

标签 c# asp.net

我有一个处于插入模式的 DetailsView:

<asp:CommandField ShowInsertButton="True" ButtonType="Button" ControlStyle-CssClass="myButton" InsertText="My Insert text" />

当然,插入/取消按钮的样式相同。

是否可以将这两个分别设置为一个蓝色和一个黄色?

在 FormView 中,您可以像这样单独定义按钮:

<asp:Button CommandName="Insert" Text="Insert" class="myButtonStyle1"  ID="myButtonID1" runat="server" CausesValidation="True" />

<asp:Button CommandName="Cancel" Text="Cancel" class="myButtonStyle2"  ID="myButtonID2" runat="server" CausesValidation="False" />

DetailsView 有类似的东西吗?

最佳答案

最简单的解决方案是将“新建、插入、取消”CommandField 转换为 TemplateField。如果您使用 WYSIWYG 编辑器,则在 OK 按钮上方有一个按钮。这将生成以下(经过审查的)代码,您可以轻松设置样式。

        <asp:TemplateField ShowHeader="False">
            <InsertItemTemplate>
                <asp:Button ID="LinkButton1" runat="server" CssClass="insertButton" CausesValidation="True" CommandName="Insert" Text="Insert" />
                &nbsp;<asp:Button ID="LinkButton2" runat="server" CssClass="cancelButton" CausesValidation="False" CommandName="Cancel" Text="Cancel" />
            </InsertItemTemplate>
        </asp:TemplateField>

注意:我使用 CSS 类名称“insertButton、cancelButton”向下面的按钮添加了 CssClass 属性,它们都可以在您的样式表中进行配置。

更多注意事项:

  1. 当需要按钮时(不是 linkBut​​tons)不要使用结束标签 ( </asp:button> ) - 用内联替换它 /标记。否则,它不会起作用。

  2. 当使用 Insert only 模式时,截尾的 ItemTemplate 不 需要——删除它。

  3. 避免使用 ControlStyle 控件,否则可能会导致类否决。

关于c# - 如何为 DetailsView 的插入和取消按钮分配不同的样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718712/

相关文章:

c# - 最好使用 int.Parse 或 Convert.ToInt32

c# - asp net mvc 5 中的授权帮助

c# - 根据子节点对整个 xdocument 进行排序

c# - Nunit - TestContext.CurrentContext.Test 不工作

c# - StreamReader NullReferenceException

c# - IQueryable 复杂顺序 $sort 中仅允许使用字段

c# - 为什么更改时区后 UTC 偏移量相同?

c# - 打破 ASP.NET 中文件背后的大型代码

c# - 在 Metro 应用程序中以编程方式设置图像源,图像不会出现

c# - 获取整个表 - MySQL 错误