jhtmlarea在updatepanel

时间:2016-09-22 17:07:05

标签: javascript jquery asp.net updatepanel jhtmlarea

我的表格上有一个jhtmlarea textarea

textarea id="txtDigital" name="txtDigital" class="form-control" style="background-color:white; resize: vertical !important; "
                                            rows="20" placeholder="Details" runat="server"></textarea>

在javascript中设置了以下内容:

$(document).ready(function () {
    $(function () {
       $("#<%=this.txtDigital.ClientID%>").htmlarea({
            toolbar: [
            ["bold", "italic", "underline", "strikethrough"],
            ["increasefontsize", "decreasefontsize", "forecolor"],
            ["orderedList", "unorderedList", "superscript", "subscript"],
            ["indent", "outdent", "justifyleft", "justifycenter", "justifyright"]
        ]
        });
    });
});

在我添加ASP.NET UpdatePanel之前工作正常 - textarea位于updatepanel内部,当页面加载时,它只是作为普通的textarea加载。我使用Firebug进行操作,代码确实运行,但是在我怀疑UpdatePanel刷新之后没有。删除updatepanel允许它按预期加载为jhtmlarea。

当我显示textarea时,我尝试将相同的代码作为函数调用,并且它正确格式化为jhtmlarea,但是,当我检查页面时,我禁用了一些我无法看到的内容。

我很感激任何帮助让它在UpdatePanel中工作。

由于

1 个答案:

答案 0 :(得分:1)

这是一个不调用jquery事件的部分回发的问题,你需要在PostBack之后重新绑定jquery。你需要一个命名函数并将其作为endRequest回调传递给浏览器放弃控制{{1被调用

demo()

现在在function demo() { $("#<%=this.txtDigital.ClientID%>").htmlarea({ toolbar: [ ["bold", "italic", "underline", "strikethrough"], ["increasefontsize", "decreasefontsize", "forecolor"], ["orderedList", "unorderedList", "superscript", "subscript"], ["indent", "outdent", "justifyleft", "justifycenter", "justifyright"] ] }); } $(document).ready(demo);

之后在您的aspx文件中添加以下脚本
ScriptManager