【问题标题】:Execute server side code on ModalPopupExtender okcontrolid clicked在 ModalPopupExtender okcontrolid 单击时执行服务器端代码
【发布时间】:2014-06-10 10:46:28
【问题描述】:

我正在使用 ASP.NET 和 C#。我想弹出这个小屏幕,然后当单击 OK 按钮时,我想根据弹出窗口的输入更新主屏幕。听起来应该是常态。有没有可能,如果有,怎么做?

    <cc1:modalpopupextender id="ModalPopupExtender1" runat="server" 
cancelcontrolid="btnCancel" okcontrolid="btnOkay" 
targetcontrolid="txtCosCodeExpCode" popupcontrolid="Panel1" 
popupdraghandlecontrolid="PopupHeader" drag="true" 
backgroundcssclass="ModalPopupBG">
    </cc1:modalpopupextender>

    <asp:panel id="Panel1" style="display: none" runat="server">
<div class="CostCentreExpenseCodePopup" style="background-color:White ; border-style :solid;">
            <div class="PopupHeader" id="PopupHeader">Select Cost Centre / Expense Code</div>
            <div class="PopupBody">
                <p>Cost Centre<asp:DropDownList 
                                            ID="ddlCostCentres1" 
                                            runat="server" 
                                            CssClass="SVSComboBox1" 
                                            AppendDataBoundItems ="True"
                                            AutoPostBack="True" 
                                            style = "width :152px;"
                                            OnSelectedIndexChanged="ddlCostCentres1_SelectedIndexChanged">
                                            <asp:ListItem Text="Please select" Value="0"></asp:ListItem>
                                        </asp:DropDownList></p>

                <p>Expense Code <asp:DropDownList ID="ddlExpCode1" runat="server" CssClass="SVSComboBox1" style = "width :152px;"
                                            AppendDataBoundItems ="True" Enabled="False" Visible ="False">
                                            <asp:ListItem Text="Please select" Value="0"></asp:ListItem>
                                        </asp:DropDownList></p>
            </div>
            <div class="Controls">
                <input id="btnOkay" type="button" value="Done" />
                <input id="btnCancel" type="button" value="Cancel" />
    </div>
    </div>

【问题讨论】:

    标签: c# asp.net ajaxcontroltoolkit modalpopupextender


    【解决方案1】:

    不要设置OkControlID,而是在服务器端使用ModalPopupExtender1.Hide()。然后你就可以先调用你的更新代码了。

    您还应该使用服务器按钮而不是 &lt;input id="btnOkay" type="button" value="Done" /&gt; 并处理它们的点击事件。

    【讨论】:

      【解决方案2】:

      首先将asp:Button 添加为确定按钮,并在您的aspx.cs 页面中添加点击事件,如下所述:

      ASPX:

      <asp:Button runat="server" ID="btnOkay" Text="OK" OnClick="btnOkay_Click"/>
      

      ASPX.cs

      protected void btnOkay_Click(object sender, EventArgs e)
      {
          // Code to write on ok click event
      }
      

      然后从您的模态弹出扩展器中删除okcontrolid="btnOkay"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-06
        • 2022-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多