C#とRazorにASP.NETMVC3アプリケーションがあります。
_Layout.cshtml
VS2010のMVC3アプリケーションテンプレートの標準を使用しています。Partial View
がレンダリングされたときにJavascriptコードを自分の1つに追加しView
、Javascriptをに直接アタッチしたくありません_Layout
。
私View
はこのように見えます:
@model MyNameSpace.ViewModels.MyViewModel
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Filters</legend>
@{ Html.RenderPartial("Filters", Model.Filters); }
<p>
<input type="submit" value="Submit" />
</p>
</fieldset>
}
そして、私のようにPartial View
Filters.cshtml
見えます:
@model MyNameSpace.ViewModels.FiltersViewModel
<p>
@Html.DropDownListFor(
x => x.Type,
new SelectList(Model.Types, "Value", "Text"),
"-- select type --"
)
</p>
<p>
@Html.DropDownListFor(
x => x.Category,
new SelectList(Model.Categories, "Value", "Text"),
"-- select category --"
)</p>
<script type="text/javascript">
//Some Javascript
</script>
このままにしておくView
と、Javascriptが内部にレンダリングされ、<body>
非常に見苦しくなります。<head>
_LayoutのセクションにJavascriptを直接追加できますが、それは私が望むものではありません。どうすれば目的を達成できますか?