Reputation: 397
I have this method in my Controller that saves the value in a Tempdata, as shown below.
public Boolean SaveSession(string id) {
TempData["CurrentTab"] = id;
return true;
}
Now in my javascript, I want to get the value in that TempData. But when I alerted the value I got this value. "[object HTMLSpanElement]"
@{
if (TempData["CurrentTab"] != null){
@:alert("" + @TempData["CurrentTab"].ToString())
}
}
How can I get the string value of that Tempdata?
Thanks
Upvotes: 1
Views: 15740
Reputation: 49105
The problem is that you're wrapping your TempData
value incorrectly.
Assuming your id
is my_span
, the JavaScript output is:
alert("" + my_span)
When you probably want:
alert("my_span")
The reason you see [object HTMLSpanElement]
is because the Browser tries to translate my_span
into document.getElementById('my_span')
(since it doesn't know of any other my_span
) and you actually have such (span
) element with that id.
Try:
@{
if (TempData["CurrentTab"] != null){
@:alert('@(TempData["CurrentTab"])');
}
}
Upvotes: 2