从对话框中获取值并在后面的代码中使用它们

get the values from dialog and use them in code behind

本文关键字:代码 在后面 对话框 获取      更新时间:2023-09-26
 <div style="display: none" id="CopyNews" title="Enter the newsletter details">
        <div style="position: relative; height: 100%">
            <br />
            <asp:Label ID="MailType" runat="server" Text="type:" />
            <asp:DropDownList ID="ddlDlgType" runat="server" AutoPostBack="true" />
            <br />
            <br />
            <asp:Label ID="MailTitle" runat="server" Text=" title:" />
            <asp:TextBox ID="txtTitle" runat="server" />
            <br />
            <br />
            <div style="text-align: center;">
                <asp:Button runat="server" ID="YesButton" Text="OK" />
                <asp:Button runat="server" ID="CancelButton" Text="Cancel" />
            </div>
        </div>
    </div>
    <script>
        function OpenNews() {
            $("#CopyNews").dialog({
                width: 'auto',
                height: 'auto',
                modal: true,
                resizable: false,
                position: 'center'
            });
        }
    </script>

单击按钮后(在后面的代码中),我显示了上面的对话框:

ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "script", "OpenNews();", true);

我的意图:

我确实想使用,在代码后面,DropDownList值和textBox值后,OK按钮被点击,显然,当取消按钮被点击,对话框应该被关闭。

我如何才能实现这些?

尽管您在对话框中使用了div,但是代码隐藏的行为是保持不变的。因此,你可以在代码后正常访问对象的属性。

您可以直接处理OnClick ASP。. NET事件的YesButton(按钮OK),并检查这些控件的值。参见下面的代码:

<asp:Button runat="server" ID="YesButton" Text="OK" OnClick="YesButton_Click" />

唯一的修改是你必须在ddlDlgType中设置AutoPostBack="false",否则你的模式会因为回发而消失。

要在Cancel被点击时关闭,处理onClick javascript事件并尝试如下:

$("#CopyNews").dialog( "close" );