Reputation: 47763
In my .aspx I've got the following javascript variable defined:
var action = <%=ProdView %>
In code-behind this returns a custom enum value:
protected ProductView ProdView { get; private set; }
I would figure that this would automatically be converted to a string in javascript? Looks like no because I get the runtime error "Item is not defined" where Item is the value ProdView.Item. Ultimately I want the action's value to be "Item" as the value.
Here's the Enum:
public enum ProductView
{
Product,
Item
}
Upvotes: 0
Views: 842
Reputation: 101166
var action = '<%=ProdView.ToString() %>'
Don't forget the quotes.
Edit to respond on coffee addicts comment
You have to remember that the code is executed twice, first at server side to generate the text string:
var action = '<%=ProdView.ToString() %>'
is executed by ASP.net and turned into a complete string before returning it to the web browser
var action = 'lalalalala'
And the actual java script is executed in the web browser.
So ASP.net have nothing to do with the actual javascript execution. It's job is only to generate HTML/javascript/css that will be sent back to the webbrowser.
Upvotes: 5