I am trying to get inline C# to work in my JavaScript files using the MVC Framework. I made this little test code up.
$(document).ready(function() {
alert(<%= ViewData["Message"] %>);
});
When this code is used inside of the view it works perfectly. When I get outside of my aspx view and try this in a JavaScript file I get illegal XML character. I figure this is by design in the MVC Framework but I haven't been able to find any material on this on the web.
Has anyone gotten inline C# to work in JavaScript files using the MVC Framework?
Best Answer
As others have said, the C# is not being processed by the server.
A possible solution would be to have a separate view that uses the same model and outputs the JavaScript, then reference that view in your
<script type="text/javascript" src="yourJSview.aspx"></script>
.Added as per SLaks' answer:
Set the content-type to
text/javascript
, and put your JavaScript source directly below the<%@ Page
directive (without a<script>
tag).Beware that you won't get any IntelliSense for it in VS.