字符串未定义

时间:2010-06-28 15:06:21

标签: c# javascript jquery

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

    protected string CurrentProductView
    {
        get
        {
            string viewName = string.Empty;
            viewName = Enum.GetName(typeof(ProductView), currentProdView);
            return viewName;
        }
    }

在我的.aspx中,我有一些试图引用此字符串的Javascript:

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

             $("#recommendations").load("recommendationsHandler.ashx?action=" + action + "item&csid=" + csid + "&productID=" + productID, function()
        {
            $("#recommendationsView").show();
        });
});

但由于某种原因,我得到“项目未定义”。

当我调试这个时,我肯定会看到一个字符串返回viewName。那么为什么如果字符串回来会抱怨呢?!?!

1 个答案:

答案 0 :(得分:5)

改变这个:

var action = <%=CurrentProductView %>

到此:

var action = "<%=CurrentProductView %>"

由于您要将页面的字符串值打印到变量中,因此需要在其周围引用,因为该值被视为页面上JavaScript的文字值。你不需要整数的引号,因为在JavaScript中这是合法的:

var my_number = 4;

这不是

var my_string = this is a string;

它必须是这样的:

var my_string = "this is a string";