私はこれをいくつかの方法で試しましたが、どれもうまくいかないようです。フォームビューがあり、ユーザーが編集モードに入ってから更新をクリックすると、変更内容に関するメモを入力できるようにモーダル ポップアップが表示されます。
これが私のコードです
<ajaxToolkit:ModalPopupExtender ID="SubmitButton_ModalPopupExtender"
runat="server" OkControlID="EditNoteButton" PopupControlID="EditNotePanel"
BehaviorID="MPE" BackgroundCssClass="modalBackground"
TargetControlID="DummyButton">
</ajaxToolkit:ModalPopupExtender>
<asp:Panel ID="EditNotePanel" runat="server" CssClass="style105" Height="23px" style="display: none">
<asp:TextBox ID="EditNoteBox" runat="server" CssClass="style106" Height="68px" Width="223px">What Did You Change?</asp:TextBox> <br />
<asp:Button ID="EditNoteButton" runat="server" CssClass="style107" Height="29px" Text="Ok" Width="52px" CommandName="update" /> <br />
</asp:Panel>
C#
protected void ClientInformationForm_ItemCommand(Object sender, FormViewCommandEventArgs e)
{
//case statements
if (ClientInformationForm.CurrentMode == FormViewMode.Edit)
{
SubmitButton_ModalPopupExtender.TargetControlID = ((Button)ClientInformationForm.FindControl("SubmitButton")).UniqueID;
}
私が読んだことから、それはうまくいくはずです。clientclick で JavaScript を使用して表示しようとしました。itemcommand で modal.show() を呼び出して表示しようとしましたが、どれも表示されません。パネルまたはポップアップがフォームビューの内側にあるか外側にあるかは問題ですか?
protected void Page_Load(object sender, EventArgs e)
{
if (!this.IsPostBack && Session["CurrentAccountId"] != null)
{
AddressTypeddl.DataBind();
ShippingAddressddl.DataBind();
AddressForm.DataBind();
}
if (ClientInformationForm.DataItemCount == 0)
{
ClientInformationForm.BackColor = Color.FromArgb(0xd9e2bf);
}
else
{
ClientInformationForm.BackColor = Color.White;
}
if (Session["CurrentAccountId"] == null)
{
NoteBox.Visible = false;
NewNoteButton.Visible = false;
NoteTypeddl.Visible = false;
NoteLabel.Visible = false;
NoteTypeLabel.Visible = false;
NewNoteLabel.Visible = false;
CreditCardView.Visible = false;
NewAccountButton.Visible = true;
AddressTypeddl.Visible = false;
AddressLabel.Visible = false;
AddressForm.Visible = false;
}
else
{
NoteBox.Visible = true;
NewNoteButton.Visible = true;
NoteTypeddl.Visible = true;
NoteLabel.Visible = true;
NoteTypeLabel.Visible = true;
NewNoteLabel.Visible = true;
CreditCardView.Visible = true;
NewAccountButton.Visible = false;
AddressTypeddl.Visible = true;
AddressLabel.Visible = true;
AddressForm.Visible = true;
}
}
そのため、人々に投稿を続けてもらいたい場合は、メモを追加するだけでなく、元の投稿を編集する必要があることに気づきました。これが役立つことを願っています. とにかく、私はまだこれを機能させることができず、ポップアップが起動しない原因がわかりませんか?