简体   繁体   中英

Enum to string C# and JavaScript

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
  }
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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM