javascript - 使用 C# 异步回发保存 Javascript 值

标签 javascript c# asp.net

我有一个名为 txt_edit_content 的 Asp 文本框,其值正在使用 JavaScript Wysiwyg 进行复制和操作。格式化文本存储在 JavaScript 变量中,我可以像这样访问它:

var data = CKEDITOR.instances.<%=txt_edit_content.ClientID%>.getData();

我试图做的就是将该值发送回服务器。因此,我已使用 Sys.WebForms.PageRequestManager 注册了以下 JavaScript 函数

function BeginRequestHandler(sender, args) {
    try{
        var data = CKEDITOR.instances.<%=txt_edit_content.ClientID%>.getData();
        console.log("Textbox Before: " + $('#<%=txt_edit_content.ClientID%>').val());
        console.log("    Javascript: " + data);
        $('#<%=txt_edit_content.ClientID%>').val(data);
        console.log(" Textbox After: " + $('#<%=txt_edit_content.ClientID%>').val());
    } catch (err) {
        console.log("Error:" + err.message);
    }
}

像这样注册它:

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);

POST 之前的 JavaScript 控制台输出如下所示:

Textbox Before: 1234 
    Javascript: <p>1234567</p> 
 Textbox After: <p>1234567</p>

我遇到的问题是,即使该值在页面上发生更改,也不会发送到服务器。但是,正在发送“文本框之前”值。如何从 JavaScript 中获取值并放入代码中?

编辑: 我可以使用“保存”按钮上的 PostBackTrigger 但不能使用 AsyncPostBackTrigger 来使此代码正常工作。但是,我需要(愿意)在“保存”按钮上使用 AsyncPostBackTrigger

最佳答案

使用更新面板并在其中包含一个隐藏字段。然后在处理程序中设置隐藏字段的值。

function BeginRequestHandler(sender, args) {
    try{
        var data = CKEDITOR.instances.<%=txt_edit_content.ClientID%>.getData();
        console.log("Textbox Before: " + $('#<%=txt_edit_content.ClientID%>').val());
        console.log("    Javascript: " + data);
        $('#<%=txt_edit_content.ClientID%>').val(data);
        console.log(" Textbox After: " + $('#<%=txt_edit_content.ClientID%>').val());
        $('#<%=hidValue.ClientID%>').val(data);

    } catch (err) {
        console.log("Error:" + err.message);
    }
}

现在在后面的代码中您可以获取 hidValue 的值。

关于javascript - 使用 C# 异步回发保存 Javascript 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34144989/

相关文章:

c# - 与 xaml View 模型交互

ASP.NET : What does the '#' starting a <% %> mean?

c# - 为什么我必须修改 web.config 才能启用调试?

javascript - WIll window.addEventListener ("load", function(), false);等待浏览器自动填充字段?

javascript - 使用 React Hooks,当我将 prop 从父组件传递给子组件时,子组件中的 prop 是未定义的

javascript - 如何将内联 javascript 与 Express/Node.js 中动态生成的内容分开?

c# - 如何使用图标呈现数据绑定(bind)的 WinForms DataGridView 列?

javascript - 使用 jquery 从 html 表中选择第二行

c# - Json.NET 问题

c# - 刷新页面 C# ASP.NET