Asp.net下拉控件出现两次

时间:2017-09-14 08:56:06

标签: asp.net

我正在开发.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个错误及其解决方案,因为我认为当前的问题,可能与我对这些错误实施修复的方式有关。

1 个答案:

答案 0 :(得分:0)

在最有经验的学生的帮助下,我终于设法解决了这个错误。

问题出现是因为我在

中引用了两个引导程序脚本文件

&#13;
&#13;
<asp:ScriptManager ID="ScriptManager1" runat="server">
&#13;
&#13;
&#13;

第一。

&#13;
&#13;
<asp:ScriptReference Path="assets/plugins/bootstrap/js/bootstrap.js" />
&#13;
&#13;
&#13;

第二

&#13;
&#13;
<asp:ScriptReference Path="assets/bootstrap-select/js/bootstrap-select.js"
&#13;
&#13;
&#13;

当我删除第二个参考....以bootstrap-select.js时,问题解决了。 我可能错了,但我认为bootstrap-selec.js包含脚本的一部分int bootstrap.js

所以可能是我两次调用相同的函数,导致它复制下拉列表。