如何在JavaScript中获取Tempdata?

时间:2013-06-12 05:44:33

标签: javascript asp.net-mvc-3 razor

我在Controller中使用此方法将值保存在Tempdata中,如下所示。

public Boolean SaveSession(string id) {
        TempData["CurrentTab"] = id;
        return true;
    }  

现在在我的javascript中,我想获得TempData中的值。但当我提醒价值时,我得到了这个价值。 “[object HTMLSpanElement]”

@{
         if (TempData["CurrentTab"] != null){           
            @:alert("" + @TempData["CurrentTab"].ToString())                
        }
    }

如何获取该Tempdata的字符串值?

由于

1 个答案:

答案 0 :(得分:2)

问题在于您错误地包裹了TempData值。

假设您的idmy_span,则JavaScript输出为:

alert("" + my_span)

当你可能想要:

alert("my_span")

您看到[object HTMLSpanElement]的原因是因为浏览器尝试将my_span翻译为document.getElementById('my_span')(因为它不知道任何其他my_span)并且您实际拥有具有该id的此类(span)元素。

尝试:

@{
     if (TempData["CurrentTab"] != null){
        @:alert('@(TempData["CurrentTab"])');
    }
}