C# 字符串未定义

C# 字符串未定义,c#,javascript,jquery,C#,Javascript,Jquery,我在.aspx的代码隐藏中具有以下属性: protected string CurrentProductView { get { string viewName = string.Empty; viewName = Enum.GetName(typeof(ProductView), currentProdView); return viewName; }

我在.aspx的代码隐藏中具有以下属性:

    protected string CurrentProductView
    {
        get
        {
            string viewName = string.Empty;
            viewName = Enum.GetName(typeof(ProductView), currentProdView);
            return viewName;
        }
    }
在my.aspx中,我有一些Javascript试图引用此字符串:

$(document).ready(function ()
{
    var action = <%=CurrentProductView %>

             $("#recommendations").load("recommendationsHandler.ashx?action=" + action + "item&csid=" + csid + "&productID=" + productID, function()
        {
            $("#recommendationsView").show();
        });
});
$(文档).ready(函数()
{
var动作=
$(“#建议”).load(“recommendationsHandler.ashx?action=“+action+”项&csid=“+csid+”&productID=“+productID,function()
{
$(“#建议视图”).show();
});
});
但由于某种原因,我得到“项未定义”

当我调试它时,我肯定看到viewName返回了一个字符串。那么,如果一根绳子回来了,它为什么要抱怨

改变这一点:

var action = <%=CurrentProductView %>
这不是

var my_string = this is a string;
它必须是这样的:

var my_string = "this is a string";
更改此项:

var action = <%=CurrentProductView %>
这不是

var my_string = this is a string;
它必须是这样的:

var my_string = "this is a string";


您可以共享与Javascript交互的代码吗?字符串周围不应该有引号吗<代码>var action=“”否,它引用的是服务器端属性。使用jqueryCan的其余部分进行更新,您可以共享与Javascript交互的代码吗?字符串周围不应该有引号吗<代码>var action=“”否,它引用了一个服务器端属性。用jQuery的其余部分更新了我想我不明白为什么…因为它是jQuery?因为我们定义了int类型的其他变量,如下所示:var productID=;因为产品id是一个int,在JavaScript中,int不需要在它们周围加引号来定义。这不是我的想法,但我对aspx还不够熟悉,不能肯定。(例如,可能字符串值是自动引用的。)因此,通过在其周围加引号,它是否不再引用我的服务器端属性,而现在它是字符串文字?@coffeeaddict,它将是javascript的文字,而不是asp,它甚至会在javascript字符串中插入值。我想我不明白为什么…因为它是jQuery?因为我们定义了int类型的其他变量,如下所示:var productID=;因为产品id是一个int,在JavaScript中,int不需要在它们周围加引号来定义。这不是我的想法,但我对aspx还不够熟悉,不能肯定。(例如,可能字符串值是自动引用的。)因此,通过在其周围加引号,它是否不再引用我的服务器端属性,而现在它是字符串文字?@coffeeaddict,它将是javascript的文字,而不是asp,它甚至会在javascript字符串中插入值。