0

ハイパーリンクをクリックすると、ドロップダウン (ユーザーのリスト) とボタンを含むダイアログが作成されます。ボタンをクリックすると、選択したユーザーを取得する必要があります。

AutoPostBack = true問題は、ポップアップ ダイアログが消えてしまうため、ドロップダウンに追加できないことです。

ポップアップコード

<div runat="server" id="LogonAsPopup" style="display: none;">
    <div class="form">
        <div class="field" style="text-align: center; margin-top: 10px;">
            <ab:LabelledDropDownlist runat="server" ID="ddlUsers" DataTextField="Username" DataValueField="UserID" DataSourceID="dsUsers" Width="200px" />
            <br/>
            <asp:Button runat="server" ID="btLogOn" OnClick="btLogOn_OnClick" style="margin-top: 10px;" UseSubmitBehavior="False"/>                    
        </div>
    </div>

    <asp:ObjectDataSource runat="server" ID="dsUsers" TypeName="Business.UserManager"
        SelectMethod="GetEnabledUsersList">
    </asp:ObjectDataSource>
</div>

クリック時

protected void btLogOn_OnClick(object sender, EventArgs e)
{
    int selectedUserId = Int32.Parse(ddlUsers.SelectedValue);
}

ハイパーリンク ナビゲート URL

hl.NavigateUrl = "javascript: $('#LogonAsPopup').show(); $('#LogonAsPopup').dialog({title: '" + (String)GetGlobalResourceObject("Labels","LogonAsTitle") + "', width: 500, modal: true});";

選択したアイテムを取得するにはどうすればよいですか?

4

2 に答える 2

0

Try taking out the inline style="display: none;" and instead put in the Page_Load() put

if(!IsPostBack)
{
    LogonAsPopup.Attributes.Add("style","display:none");
}

This will set the display attribute to none, but only when the page first loads. Now the AutoPostBack will work as wanted

于 2015-10-29T16:57:49.777 に答える