私はGridView
のユーザーコントロールを持っています。このGridView
の行をユーザーがクリックすると、OnSelectedIndexChanged
という関数が呼び出されます。この後にモーダルがポップアップされます。 ScriptManager
を使用して、モーダルを開く際に機能するスクリプト$('#seasonInfoModal').modal()
を呼び出しました。問題は、同じユーザーコントロール内で定義されたモーダルを開くときに機能しないことです。モーダルはpage.aspx
の内側にあるときに開きますが、コントロールの内側にあるときは開きません.ascx
。私はすべてが正しく結びついていて、いくつかの詳細を省いています。ここで私はこのgridview行のモーダルを開く
MyControlと同様にモーダルを開こうとすると背後に全体のコードはコードで
メインpage.aspx
<%@ Page Title="" Language="C#" ... %>
<%@ Register Src="~/Controls/MyControl.ascx" TagPrefix="ACT" TagName="GeneralADM" %>
<ACT:GeneralADM runat="server"" />
MyControl.ascx
<%@ Language="C#" AutoWireUP="true" Codebehind="" Inherits="" %>
<div runat="server">
<!-- Seasonal Info-->
<div runat="server" id="seasonInfoModal" class="modal fade" role="dialog" draggable="true">
</div>
<!-- End seasonal info-->
<!-- Start of Season Edit Modal -->
<div id="seasonEditInfo" class="modal fade" role="dialog" draggable="false">
</div>
<!-- End of Season Edit Modal -->
<asp:GridView>
</asp:GridView>
</div>
次のようになります。 ascx.cs
protected void OnSelectedIndexChanged(object sender, GridViewEventArgs e){
ScriptManager.RegisterStartupScript(this,
this.GetType(),
"seasonInfoModal",
"$('#seasonInfoModal').modal();",
true);
}
号
#seasonInfoModal
代わりにポップアップ表示されず、内部に何も入れずに新しいモーダルが作成され、クリックすると画面が暗くなります。 #seasonInfoModal
をコントロールから外して、コントロール自体を挿入するページに移動すると、モーダルが実際にポップアップします。それはそのコントロールの分離コードから、具体的OnSelectedIndexChanged
関数内からコントロール内にあるとき
質問
は、どのように私は、モーダル#seasonInfoModal
を開くことができますか?
本当に*サーバー側からポップアップを開く必要はありますか?本当にUpdatePanelが必要ですか?彼らは物事を乱すだけです。 – mason
@mason私は、ユーザーコントロールの内部をモーダルで開く方法を理解する必要があります。 –
この質問は、どのモーダルダイアログが使用されているか、モーダルが開こうとしているイベントに関する詳細は何もないという情報を提供していません。 – kaushalparik27