Monday, May 20, 2024
23
rated 0 times [  27] [ 4]  / answers: 1 / hits: 17917  / 12 Years ago, fri, june 29, 2012, 12:00:00

I am working on a project ASP.net 4, MVC4(RC) using visual studio 11.
I am trying to render an MVC4 Razor view that renders a partial view. I have some javascript required for my partial view.
On my partial view when I include my javascript inside the scripts section as follows it does not seem to load.



@section Scripts {
<script type=text/javascript>
$(function () {
alert(test);
});
</script>
}


If I remove the scripts section it fails as the jquery libraries (which are bundled and rendered on my _Layout.cshtml page) have not yet loaded when the document ready code runs.



<script type=text/javascript>
$(function () {
alert(test);
});
</script>


_Layout Page code to load jquery libraries



@Scripts.Render(~/bundles/jquery)
@RenderSection(scripts, required: false)


Does anyone know of a solution for this, or am I simply going about it the wrong way? Its wrecking my head!!


More From » asp.net-mvc-4

 Answers
61

Don't wrap your script in a document.ready in the partial:



@section Scripts {
<script type=text/javascript>
alert(test);
</script>
}


Ah, and don't put scripts in partials. Javascript code should be placed in separate javascript files. If you want to execute some javascript when a partial is loaded, you simply externalize this script into a reusable function/plugin that you call once your partial is loaded.


[#84573] Thursday, June 28, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
warren

Total Points: 679
Total Questions: 115
Total Answers: 78

Location: Antigua and Barbuda
Member since Sat, Apr 24, 2021
3 Years ago
;