0

我在 Stackoverflow 上的第一个问题

ASP.NET C# 网格视图

我的问题是这个

如何在我的命令字段模板中拥有一个自定义编辑按钮,该按钮仍会将行切换到编辑模式,但会在其中一个字段中显示不同的内容。

我的命令列有一个模板字段。我将 rowdatabound 事件用于逻辑。

 <asp:templatefield itemstyle-width="300px">
    <itemtemplate>
        <asp:Literal ID="label2" runat="server" Text='<%# System.Net.WebUtility.HtmlDecode(Eval("translation").ToString()) %>'></asp:Literal>
    </itemtemplate>
    <edititemtemplate>
        <cc1:myeditor ID="teHtml" startupInSourceOrwysiwyg="wysiwyg" type="lite" EnableViewState="false" runat="server" Text='<%# Bind("translation")%>' />
    </edititemtemplate>
</asp:templatefield>
    <asp:templatefield headertext="Command">
    <itemtemplate>
        <asp:LinkButton CommandName="Edit" Text="Edit" ID="btnEdit" runat="server"></asp:LinkButton>
        <asp:LinkButton CommandName="EditHtml" Text="EditHtml" ID="btnEditHtml" runat="server" ></asp:LinkButton>
    </itemtemplate>
    <edititemtemplate>
        <asp:LinkButton CommandName="Update" Text="Update" ID="btnUpdate" runat="server"></asp:LinkButton>
        <asp:LinkButton CommandName="Cancel" Text="Cancel" ID="btnCancel" runat="server"></asp:LinkButton>
    </edititemtemplate>
</asp:templatefield>

代码背后 - 事件

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
        {
            CkEditor editorInstance = (CkEditor)e.Row.FindControl("teHtml");

            string theTranslationText = editorInstance.Text;
            bool isHtmlModeSelected;

            isHtmlModeSelected = hfHtml.Value == "true" ? true : false;

            if (!(isHtmlModeSelected) || (someHtmlFoundInTranslation(theTranslationText)))
            {
                editorInstance.startupInSourceOrwysiwyg = "source";
                editorInstance.removeplugins = "toolbar";
            }
        }
    }

谢谢

4

0 回答 0