gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 08:11:06 25 4
gpt4 key购买 nike

我有一个名为 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com