我在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的字符串值?
由于
答案 0 :(得分:2)
问题在于您错误地包裹了TempData
值。
假设您的id
为my_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"])');
}
}