正如 siva 所说,页面底部是“理想的”。但是,对于单独的文件。只要您不从页面中引用 asp.net 元素,这只会是实用的 - 即:
<asp:Content ContentPlaceHolderID="jsCode" ID="jsCode1" runat="server">
<script type="text/javascript">
$(document).ready(function() {
getPoundsData();
});
function getPoundsData() {
var id = $("#ID").val();
var URL = '<%=Url.Action("GetPounds", "FundShareholder")%>';
var params = { id: id };
if (id != null)
SendAjaxCache("#" + $("#ShareholderID option:selected").text() + " RSP#", URL, params, null, ListDataShareholderPounds);
}
function ListDataShareholderPounds(data) {
if (data.length != 0) {
$('#shareholderPounds').html("");
$('#shareholderPounds').show();
$('#shareholderPounds').html(data);
}
};
</script>
</asp:Content>
注意:
var URL = '<%=Url.Action("GetPounds", "FundShareholder")%>';
参与 js。“我们”所做的是在最底部的母版页中添加一个内容部分来保存我们的 js 内容。但是,这只适用于 ViewPage (aspx) 对象。ascx 页面对任何母版页内容部分都是“无知的”。
我们目前正致力于将流程系统化,即我们将包含 asp.net 引用的“部分”js 文件保存在其中,然后通过过滤器属性将它们注入页面流。我们处于早期阶段,但这种方法的好处是部分 js 被视为文件,因此被缓存以供将来访问该页面。
无论如何,这是我们目前的方法,有兴趣发现窥视者是否使用任何类似的机制来注入包含 asp.net 对象引用的 js。
干杯...
[edit] - here's a heads up on the approach i'm talking about (this wasn't our original inspiration, but is quite similar, tho is webforms, rather than mvc) - http://www.west-wind.com/WebLog/posts/252178.aspx or this one which IS mvc: http://poundingcode.blogspot.com/2009/12/injecting-javasript-into-aspnetmvc-with.html.
Finally found the article that inspired our 'search' in this: ASP.NET MVC routing and paths is js files plus http://codepaste.net/p2s3po