我正在开发.NET Framework 4.5.2 Web应用程序。
我在开发过程中遇到了一个问题。问题是,当我使用分层文件夹结构,并将我的Default.aspx页面放在顶层目录中时,我无法访问较低层次结构中的其他页面...我收到错误,“该资源无法找到“
我注意到浏览器将当前目录的名称( Portal )附加到相对路径,如下所示:
[本地主机:50229 /门户网站/〜/门户网站/用户/学习者/ EditProfile.aspx]
要解决此错误,我将 runat =“server”添加到我的锚标记中,如下所示:
<a runat="server" href="~/Portal/Users/Learner/EditProfile.aspx">
它工作正常。
我遇到的下一个问题是,主页中的 j Query 脚本在继承页面中处于活动状态,只要它们与主页面位于同一目录中。但是一旦页面移动到不同的目录,脚本就变得无法访问。 为了解决这个问题,我使用了ScripManager,方法如下(在母版页中);
<!--
There was an issue where when a page inheriting from this master page, was called from a different
folder, the scripts where not working. Using the script manager resolved this problem.
-->
<asp:ScriptManager ID="ScriptManager1" runat="server">
<Scripts>
<asp:ScriptReference Path="~/Portal/portal_assets/plugins/jquery/jquery.min.js" />
<asp:ScriptReference Path="~/Portal/portal_assets/plugins/bootstrap/js/bootstrap.js" />
<asp:ScriptReference Path="~/Portal/portal_assets/plugins/bootstrap-select/js/bootstrap-select.js" />
<asp:ScriptReference Path="~/Portal/portal_assets/plugins/jquery-slimscroll/jquery.slimscroll.js" />
<asp:ScriptReference Path="~/Portal/portal_assets/plugins/node-waves/waves.js" />
<asp:ScriptReference Path="~/Portal/portal_assets/js/admin.js" />
<asp:ScriptReference Path="~/Portal/portal_assets/js/demo.js" />
</Scripts>
</asp:ScriptManager>
解决了这两个问题之后,一个新的错误浮出水面。即在从此主页面继承的每个页面上,如果有下拉列表控件 在该页面上,下拉列表控件出现两次,而其他控件如文本框只出现一次。
这是一个快照: Duplicated dropdownlist control
当我点击顶部的下拉列表时,它是空白的
当我点击底部的下拉列表时,它会显示列表内容,当我在底部列表中选择一个项目时,它会在两个下拉列表中显示为选中,如下所示:
Dupliacted dropdown list, showing selected content
我非常感谢有关如何解决此问题的任何建议。
P.S。我提到了上面的2个错误及其解决方案,因为我认为当前的问题,可能与我对这些错误实施修复的方式有关。
答案 0 :(得分:0)
在最有经验的学生的帮助下,我终于设法解决了这个错误。
问题出现是因为我在
中引用了两个引导程序脚本文件
<asp:ScriptManager ID="ScriptManager1" runat="server">
&#13;
第一。
<asp:ScriptReference Path="assets/plugins/bootstrap/js/bootstrap.js" />
&#13;
第二
<asp:ScriptReference Path="assets/bootstrap-select/js/bootstrap-select.js"
&#13;
当我删除第二个参考....以bootstrap-select.js时,问题解决了。 我可能错了,但我认为bootstrap-selec.js包含脚本的一部分int bootstrap.js
所以可能是我两次调用相同的函数,导致它复制下拉列表。