Jquery 为mvc4中的全局变量赋值

Jquery 为mvc4中的全局变量赋值,jquery,asp.net-mvc-4,Jquery,Asp.net Mvc 4,我在.cshtml视图中使用全局变量,如下所示- @{ string canvasimage=""; } <a href="/PDF/Certificate/?filename="+@canvasimage+" id="canvasbutton" >convert to image</a> 我想使用jquery在其中添加一些值- <script> function GetData() { var image = $('#canvas

我在
.cshtml
视图中使用全局变量,如下所示-

@{
string canvasimage="";
}
<a href="/PDF/Certificate/?filename="+@canvasimage+" id="canvasbutton" >convert to image</a>
我想使用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>

函数GetData(){
var image=$(“#Canvasoverdes canvas”);
var src=image[0].toDataURL(“image/png”);
src=src.replace('data:image/png;base64','');
@canvasimage=src;
};
然后在锚定标记中使用这个全局变量,如下所示-

@{
string canvasimage="";
}
<a href="/PDF/Certificate/?filename="+@canvasimage+" id="canvasbutton" >convert to image</a>

但我在脚本中使用这个全局变量时遇到语法错误

我的问题是我们如何使用这个全局变量并给它赋值

如果这不可能,请告诉我如何将函数
GetData()
的值发送到锚定中名为
filename
的参数中?

您不能在javascript代码中使用c#变量,因为javascript是客户端代码,而c#是服务器端代码,您必须通过jquery设置锚定标记的href,如下所示:

<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>
<a href="/PDF/Certificate/?filename=" id="canvasbutton" >convert to image</a>

函数GetData(){
var image=$(“#Canvasoverdes canvas”);
var src=image[0].toDataURL(“image/png”);
src=src.replace('data:image/png;base64','');
$(“#canvasbutton”).attr(“href”,“PDF/Certificate/?filename=“+src”);
};
如果您的html如下所示:

<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>
<a href="/PDF/Certificate/?filename=" id="canvasbutton" >convert to image</a>

然后:


函数GetData(){
var image=$(“#Canvasoverdes 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);
};

您可以在
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);
}
jQuery客户端JavaScript代码无法看到服务器端C#代码!您可以将值推送到JS脚本中,但不能返回到C。