您好我有一个MasterPage(ASP.Net MVC),其中包含一些Jquery ui的加载,并且在该视图特定脚本的内容持有者下:
<script src="../../Scripts/jquery-1.3.2.js" type="text/javascript"></script>
<script src="../../Scripts/ui.core.js" type="text/javascript"></script>
<script src="../../Scripts/ui.tabs.js" type="text/javascript"></script>
<script src="../../Scripts/ui.accordion.js" type="text/javascript"></script>
<script src="../../Scripts/LeftNav.js" type="text/javascript"></script>
<asp:contentplaceholder id="Scripts" runat="server"></asp:contentplaceholder>
现在我创建了一个包含此脚本的视图
<asp:Content ID="Content2" ContentPlaceHolderID="Scripts" runat="server">
<script>
var $tabs = $('#tabs').tabs();$tabs.tabs('option', 'selected', <%= ViewData["tab"]%>) ;
location.href='#<%= ViewData["anchor"]%>';
</script>
</asp:Content>
tab中的值是应该选择的tabindex。锚是标签页上应该选择的锚点。
我的建议是,首先加载所有主脚本而不是我在ViewData中保存的tabindex,然后跳转到我想要的锚点。
但是怎么可能呢......没有任何反应。
侧面加载和标签也是如此。但是,未选中ViewData属性选项卡中的选项卡。而不是锚不能工作。
我试过以下。我在上面的脚本中放了一个警告,如果我这样做,则会在加载选项卡之前抛出警报。为什么在加载ui.script之前他会编写此脚本????????????
答案 0 :(得分:6)
我不确定我是否可以做到这一点,我对asp一无所知,但也许你应该检查jquery的ready event,这是在页面加载时触发的。这可能会让你摆脱计时问题。
答案 1 :(得分:0)
将您的脚本放在页面底部...即</asp:Content
&gt;之前
这样你的脚本将在所有内容加载后加载...如果没有写下确切的错误你得到...如上所述,你也可以使用$(文件).ready