1

我的控制器中有这个方法,它将值保存在 Tempdata 中,如下所示。

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

现在在我的 javascript 中,我想获取该 TempData 中的值。但是当我提醒这个值时,我得到了这个值。“[对象 HTMLSpanElement]”

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

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

谢谢

4

1 回答 1

2

问题是您TempData错误地包装了您的值。

假设您的idis my_span,JavaScript 输出为:

alert("" + my_span)

当你可能想要:

alert("my_span")

你看到的原因[object HTMLSpanElement]是因为浏览器试图翻译my_spandocument.getElementById('my_span')(因为它不知道任何其他的my_span)并且你实际上有这样的 ( span) 元素与那个 id。

尝试:

@{
     if (TempData["CurrentTab"] != null){
        @:alert('@(TempData["CurrentTab"])');
    }
}
于 2013-06-12T06:05:13.970 回答