可以在页面的ScriptManagerProxy ScriptReference之后呈现Web控件RegisterClientScriptResource吗?

时间:2016-10-20 21:17:42

标签: asp.net

我有一个网页控件需要它自己的javascript,因此它使用从OnPreRender调用的RegisterClientScriptResource在页面渲染时呈现脚本标记。

网页控件javascript取决于jquery。但是为了允许不同版本的jquery,它不会嵌入jquery javascript本身。相反,它依赖于Web应用程序来引用适当的jquery脚本。所以要做到这一点我的页面有一个ScriptManagerProxy,带有一个jquery js文件的ScriptReference。

当页面呈现时,我得到一个脚本标记,引用Web控件脚本,后跟引用jquery文件的脚本标记:

<script src="/MyApp/ScriptResource.axd?d=D9drwtSJ4hBA...qGfE1&amp;t=ffffffffc7ae6e38" type="text/javascript"></script>
<script src="Scripts/jquery-1.10.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.11.1.min.js" type="text/javascript"></script>

我的问题是脚本包含的顺序需要反转,因为它扩展了jquery:

jQuery.extend(jQuery.ui, { mydatepicker: { version: "1.0.0"} });
jQuery.fn.mydatepicker = function (options) {

    ...
}

当前订单导致我的mydatepicker功能无效。

如果我在我的页面中使用ScriptManager或ScriptManagerProxy,asp.net将按层次结构的顺序呈现脚本引用,因此首先呈现主页脚本引用,然后引用其中的子项,然后将其子项引入链中。我原本期望我的Web控件中的脚本引用会在其他控件是层次结构中最深的控件之后呈现,而是先呈现。

0 个答案:

没有答案