我在.cshtml
视图中使用全局变量,如下所示 -
@{
string canvasimage="";
}
我希望使用jquery -
在其中添加一些值<script>
function GetData() {
var image = $('#canvasoverdues canvas');
var src = image[0].toDataURL("image/png");
src = src.replace('data:image/png;base64,', '');
@canvasimage=src;
};
</script>
然后想在锚标记中使用这个全局变量,如下所示 -
<a href="/PDF/Certificate/?filename="+@canvasimage+" id="canvasbutton" >convert to image</a>
但是在脚本中使用此全局变量时出现语法错误。
我的问题是我们如何使用这个全局变量并为其赋值。
如果无法做到这一点,请告诉我如何将函数GetData()
的值发送到锚中名为filename
的参数中?
答案 0 :(得分:0)
您不能在 javascript 代码中使用 c#变量,因为javascript是客户端而c#是服务器端代码,您必须设置 href 通过jquery这样的锚标签:
<script>
function GetData() {
var image = $('#canvasoverdues canvas');
var src = image[0].toDataURL("image/png");
src = src.replace('data:image/png;base64,', '');
$("#canvasbutton").attr("href","/PDF/Certificate/?filename="+src);
};
</script>
如果您的HTML是这样的:
<a href="/PDF/Certificate/?filename=" id="canvasbutton" >convert to image</a>
然后:
<script>
function GetData() {
var image = $('#canvasoverdues canvas');
var src = image[0].toDataURL("image/png");
src = src.replace('data:image/png;base64,', '');
var temp = $("#canvasbutton").attr("href") + src;
$("#canvasbutton").attr("href",temp);
};
</script>
答案 1 :(得分:0)
您可以在GetData()
方法中访问该锚元素。
function GetData() {
var image = $('#canvasoverdues canvas');
var src = image[0].toDataURL("image/png");
src = src.replace('data:image/png;base64,', '');
$("#anchorID").attr("href", $("#anchorID").attr("href") + "?filename=" + src);
}