javascript - 如何将回发参数从 JS 传递给 VB?

标签 javascript jquery asp.net vb.net

我正在尝试将图像从图像编辑器传递到 VB 中的函数。我将其设置如下:

JS

var canvas = document.getElementById("canvas_minipaint");
var img = canvas.toDataURL("image/jpeg");
__doPostBack('SaveImage', img);

ASPX

<asp:LinkButton ID="SaveImage" runat="server" Visible="true"></asp:LinkButton>

VB

Private Sub SaveImage_Click(sender As Object, e As EventArgs) Handles SaveImage.Click
    Call GetSession()
End Sub

当我现在点击 SaveImage 按钮时,出现以下错误:

无效的回发或回调参数。使用配置或页面中的 <%@ Page EnableEventValidation="true"%> 启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合预期,请使用 ClientScriptManager.RegisterForEventValidation 方法注册回发或回调数据以进行验证。

如何为验证器的按钮注册 onClick?还是我遗漏了什么?

最佳答案

关闭此页面的事件验证。您可以通过添加

在页面级别关闭它
Page EnableEventValidation="false"

到您的 .aspx 页面的顶部。在这种情况下,我建议这样做,因为您正在使用 JavaScript 进行手动回发。无法针对单个控件将其关闭。

编辑:

您始终可以将图像的值存储在隐藏字段中,这样就无需禁用事件验证。您需要一种在现场存储图像数据(也许是 base64 字符串?)的方法,但它会起作用。

关于javascript - 如何将回发参数从 JS 传递给 VB?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48286068/

相关文章:

php - 使用刷新按钮刷新验证码

javascript - 如何在MFC中调用Javascript函数?

javascript - 从 node.js 在 mongodb 中按日期查询

具有多个目标的 jQuery SlideDown

asp.net - FormsAuthentication.SignOut() 不会注销用户

asp.net - 如何安装 ServiceStack.Interfaces?

javascript - CSS隐藏带有单选按钮的div

javascript - 悬停子元素时,JQuery 在 mouseleave 上重复 mouseenter 事件

javascript - 将事件监听器添加到 Canvas

jquery - jcrop - 中心的默认裁剪选择