ASP DropdownList在Bootstrap模式中不起作用

时间:2016-10-14 10:56:02

标签: c# html asp.net bootstrap-modal

我对CSS样式和Bootstrap的东西很新,所以在我的工作项目中我遇到了太多问题。

我遇到了一个问题,导致我无法在asp:DropDownList内使用Bootstrap modal控件。

实际上我要做的是我有button名为New Ticket,所以当用户点击它时,Bootstrap modal应弹出包含在其正文中form panel 1}}具有不同的控件,例如Text BoxesLabelsDropDownLists。这些DropDownLists是asp控件,并且正在C#Code-Behind中预先填充。

在模态之外使用此form-panel工作正常,但尝试在模态中使用它会让我遇到这个问题。以下是我发生的错误:

  

编译错误

     

描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。

     

编译器错误消息:CS1061:'ASP.openticket_aspx'不包含'ddlServices_SelectedIndexChanged'的定义,并且没有扩展方法'ddlServices_SelectedIndexChanged'接受类型'ASP.openticket_aspx'的第一个参数可以找到(你是否错过了使用指令或程序集引用?)

这是我的Modal code

<div class="container-fluid">
        <!-- Modal -->
        <div class="modal fade" id="myModal" role="dialog">
            <div class="modal-lg CenterForm">
                <!-- Modal content-->
                <div class="modal-content">
                    <div class="modal-body">
                        <div class="panel panel-default">
                            <div class="panel-heading h4 text-primary text-center">
                                Token Registration
                            </div>
                            <div class="panel-body">
                                <div class="form-horizontal" role="form">
                                    <div class="form-group">
                                        <label class="col-sm-2 control-label" for="lblCallerID">Caller ID:</label>
                                        <asp:Label class="col-sm-2 control-label" ID="lblCallerID" runat="server" Text="66355356"></asp:Label>
                                        <div class="col-sm-10">
                                            <asp:TextBox CssClass="form-control" ID="txtCallerID" runat="server"></asp:TextBox>
                                        </div>
                                    </div>
                                    <div class="row">
                                        <label class="col-sm-4 control-label" for="lblServices">Complaint/Suggestion:</label>
                                        <div class="col-sm-8">
                                            <asp:DropDownList class="form-control" ID="ddlServices" runat="server" OnSelectedIndexChanged="ddlServices_SelectedIndexChanged"></asp:DropDownList>
                                        </div>
                                    </div>
                                    <br />
                                    <div class="row">
                                        <label class="col-xs-2 control-label" for="lblSeverity">Severity:</label>
                                        <div class="col-xs-4">
                                            <asp:DropDownList class="form-control" ID="ddlSeverity" runat="server" OnSelectedIndexChanged="ddlServices_SelectedIndexChanged"></asp:DropDownList>
                                        </div>
                                        <label class="col-xs-2 control-label" for="lblStatus">Status:</label>
                                        <div class="col-xs-4">
                                            <asp:DropDownList class="form-control" ID="ddlStatus" runat="server" OnSelectedIndexChanged="ddlServices_SelectedIndexChanged"></asp:DropDownList>
                                        </div>
                                    </div>
                                    <br />
                                    <div class="form-group">

                                        <label class="col-sm-2 control-label" for="lblSubject">Subject:</label>
                                        <div class="col-sm-10">
                                            <asp:TextBox class="form-control" ID="txtSubject" runat="server" placeholder="Enter Subject"></asp:TextBox>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <label class="col-sm-2 control-label" for="lblComments">Comments:</label>
                                        <div class="col-sm-10">
                                            <asp:TextBox class="form-control" ID="txtComments" runat="server" placeholder="Enter Comments" TextMode="MultiLine"></asp:TextBox>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <div class="col-sm-offset-2 col-sm-10">
                                            <asp:Label ID="lblmsg" runat="server" CssClass="label label-danger"></asp:Label>
                                        </div>
                                    </div>
                                    <div class="form-group">
                                        <div class="col-sm-offset-2 col-sm-10">
                                            <asp:Button ID="btnLogin" OnClick="btnLogin_Click" runat="server" CssClass="btn btn-success" Text="Submit"></asp:Button>
                                            &nbsp;<asp:Button ID="btnCancel" OnClick="btnCancel_Click" runat="server" CssClass="btn btn-danger" Text="Cancel"></asp:Button>
                                        </div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">New Ticket</button>
                        <asp:Button ID="btnNewTicket" OnClick="btnNewTicket_Click" runat="server" CssClass="btn btn-default" Text="Open Ticket"></asp:Button>
                    </div>
                </div>
            </div>
        </div>
    </div>

这是我尝试使用button

触发模态
<ul class="nav navbar-nav navbar-right">
                <li><a href="#" data-toggle="modal" data-target="#myModal">New Ticket</a></li>
                <li><a href="#">New Client</a></li>
                <li><a href="#" class="glyphicon-user">Username</a></li>
            </ul>

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

这不是因为引导程序。这是因为你没有正确处理事件。你应该在你的代码中跟随

protected void ddlServices_SelectedIndexChanged(Object sender, EventArgs e)
{
    // code to handle event
}

你也应该在标记的下拉列表中有AutoPostBack="true"

<asp:DropDownList class="form-control" ID="ddlServices" runat="server" AutoPostBack="true" OnSelectedIndexChanged="ddlServices_SelectedIndexChanged"></asp:DropDownList>

我还可以看到你正在调用相同的事件处理程序ddlServices_SelectedIndexChanged,这似乎是复制粘贴错误给我的。所以也要考虑到这一点。

或者,如果您不想处理此事件,请从下拉列表中删除OnSelectedIndexChanged="ddlServices_SelectedIndexChanged"

答案 1 :(得分:0)

假设您的代码 存储在.aspx页面中,并且执行有一个&#34; ddlServices_SelectedIndexChanged&#34;在相关的.aspx.cs文件中声明的函数,这是我的答案:

转到.aspx页面的顶部,检查第一行的详细信息是否正确。

我曾经遇到过一个非常漂亮的.aspx页面(带有代码隐藏页面)的情况,我已将.aspx复制到第二页,重命名为,但是Visual Studio尚未更新我的.aspx页面顶行的值。

例如,如果您的网页名为OpenTicket.aspx,那么您的.aspx页面顶部应该有以下内容:

<%@ Page Title="" Language="C#" AutoEventWireup="true" 
CodeBehind="OpenTicket.aspx.cs" Inherits="SomeNamespace.OpenTicket" %>

这解释了为什么ASP.Net有时无法为.aspx页面中的某个控件找到代码隐藏函数。