我正在尝试将图像从图像编辑器传递到 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/