我的.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。那么为什么如果字符串回来会抱怨呢?!?!
答案 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";