#asp.net #twitter-bootstrap
#asp.net #twitter-bootstrap
Вопрос:
В MasterPage есть меню начальной загрузки, которое отлично работает на страницах, находящихся в корневом каталоге, в то время как страницы в каталоге не заполняют выпадающее меню.
http://localhost:3739/ServicePortal/Default.aspx (menu dropdown works
> perfectly)
в то время как
http://localhost:3739/ServicePortal/RegisteredUserPage/DataForm.aspx (menu drop down does not render/work)
Код меню начальной загрузки главной страницы приведен ниже:
<div class="container">
<nav class="navbar navbar-default navbar-orange" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNav">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#">O.S.L</a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="myNav">
<ul class="nav navbar-nav">
<li><asp:HyperLink runat="server" ID="HomeHyperLink" NavigateUrl="~/Default.aspx" Text="Home"/></li>
<li class="dropdown">
<%--<asp:HyperLink runat="server" ID="HyperLink10" NavigateUrl="" Text="Services" class="dropdown-toggle" data-toggle="dropdown"></asp:HyperLink>--%>
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Services <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><asp:HyperLink runat="server" ID="HyperLink1" NavigateUrl="#" Text="Education Services"/></li>
<li><asp:HyperLink runat="server" ID="HyperLink2" NavigateUrl="#" Text="Health Services"/></li>
<li><asp:HyperLink runat="server" ID="HyperLink3" NavigateUrl="#" Text="Bank Services"/></li>
<li><asp:HyperLink runat="server" ID="HyperLink4" NavigateUrl="#" Text="Hotels/Restaurents"/></li>
<li><asp:HyperLink runat="server" ID="HyperLink5" NavigateUrl="#" Text="Wedding Halls"/></li>
<li><asp:HyperLink runat="server" ID="HyperLink6" NavigateUrl="#" Text="Shops"/></li>
</ul>
</li>
<li><asp:HyperLink runat="server" ID="HyperLink7" NavigateUrl="#" Text="Add Services"/></li>
<li><asp:HyperLink runat="server" ID="HyperLink8" NavigateUrl="#" Text="Contact us"/></li>
<li><asp:HyperLink runat="server" ID="HyperLink9" NavigateUrl="#" Text="About us"/></li>
</ul>
<ul class="nav navbar-nav navbar-right">
<li><asp:HyperLink runat="server" ID="hylink" NavigateUrl="~Registration.aspx" Text="Register"/></li>
<li class="dropdown">
<a class="dropdown-toggle" href="#" data-toggle="dropdown"> <asp:Label ID="lab_loginStatus" runat="server" Text="Sign In"></asp:Label><strong class="caret"></strong></a>
<div class="dropdown-menu" style="width:250px">
<div class="loginfrm">
<!-- Login form here -->
<asp:TextBox ID="tbx_SignInName" runat="server" CssClass="form-control txtfocus-orange" placeholder="Sign In Name or Email"></asp:TextBox>
<asp:TextBox ID="tbx_SignInPassword" runat="server" TextMode="Password" CssClass="form-control txtfocus-orange" placeholder="Password"></asp:TextBox>
<div class="checkbox">
<asp:CheckBox ID="chkbox_SignInRememberMe" Text="Remember me" runat="server" />
<asp:Button ID="btn_SignIn" runat="server" CssClass="btn btn-orange pull-right" Text="Sign In" OnClick="btn_SignIn_Click" CausesValidation="false"/>
</div>
<%-- <div class="horizentalDivider"></div>
<h6><asp:Label ID="lab_NotRegYet" runat="server" Text="Not Registered yet?"></asp:Label></h6>
<asp:LinkButton ID="link_SignUp" runat="server" Text="Register Now"></asp:LinkButton>--%>
<asp:Button ID="btn_Signout" runat="server" CssClass="btn btn-orange pull-right" Text="Sign Out" onClick="btn_Signout_Click" Visible="false" CausesValidation="false"/>
</div>
</div>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container -->
пожалуйста, помогите мне в этом отношении
Комментарии:
1. Где находятся ваши файлы начальной загрузки и как вы ссылались на них на главной странице?
2. ‘<link href=»CSS/bootstrap.css» rel=»stylesheet» />’аналогично файлы JavaScript в нижней части MasterPage’ <!— jQuery (necessary for Bootstrap’s JavaScript plugins) —> <script src=»JavaScript/jquery-2.1.0.js»></script> <!— Include all compiled plugins (below), or include individual files as needed —> <script src=»JavaScript/bootstrap.min.js»></script> <script src=»JavaScript/jquery.min.js»></script> <script src=»JavaScript/jquery.mobile.customized.min.js»></script>’
3. Файлы начальной загрузки находятся в: CSS/Bootstrap.min.css , а файлы Javascript находятся в Javascript / jquery-2.1.0 и Javascript /bootstrap.min
Ответ №1:
попробуйте использовать ResolveUrl()
в src
<script type="text/javascript" language="javascript" src="<%= ResolveUrl("~/Common/jquery-1.7.1.min.js") %>"></script>
<script type="text/javascript" language="javascript" src="<%= ResolveUrl("~/Common/jquery-ui-1.8.18.custom.min.js") %>"></script>
Ответ №2:
Основываясь на ссылках, которые вы указали в комментарии, я считаю, что вам нужно добавить тильды и косые черты в начало ваших ссылок, чтобы указать, что эти папки находятся в корне сайта. В противном случае браузер ищет их во вложенных папках, где находятся ваши страницы. Вот как это должно выглядеть:
<link href="~/CSS/bootstrap.css" rel="stylesheet" />
<!-- jQuery (necessary for Bootstrap's JavaScript plugins) -->
<script src="~/JavaScript/jquery-2.1.0.js"></script>
<!-- Include all compiled plugins (below), or include individual files as needed -->
<script src="~/JavaScript/bootstrap.min.js"></script>
<script src="~/JavaScript/jquery.min.js"></script>
<script src="~/JavaScript/jquery.mobile.customized.min.js">
</script>
Комментарии:
1. Вы дали мне хороший намек, основная проблема заключается в ссылках на пути к файлам начальной загрузки, выше вы указали решение, которое я пробовал, но все равно оно не работает, я снова добавил все ссылки в localhost: 3739/ServicePortal/RegisteredUserPage/DataForm.aspx , т.е. Dataform.aspx ,теперь все работает нормально, я думаю, это неправильное решение, что ты говоришь?
2. @KhuramJan Если меню начальной загрузки находится на главной странице, вы должны разместить ссылки на свои скрипты на главной странице. Откройте браузер, перейдите на эту страницу. Посмотрите, правильно ли загружены скрипты / CSS. Что говорит Orilux, так это то, что вам нужно использовать корневые относительные пути, а не просто простые относительные.
3. @KhuramJan, я обновил пример, чтобы использовать «~», что должно решить проблему. Веб-сервер Visual Studio запускает ваше приложение в виртуальном каталоге, что вызывает проблему с относительными путями.