Asked by:
Modalpopup extender in asp.repeater

Question
-
User29410129 posted
I am trying to popup modalpopextender. It popup but not retrieving my data from aspx.cs. Code below show you what i did
When i click on my edit button in repeater. It will show me panel2 but fields are not filled. can you tell me what's wrong with my code
<asp:Repeater ID="rptr_my_post" runat="server" OnItemCommand="rptr_my_post_ItemCommand"> <HeaderTemplate> </HeaderTemplate> <ItemTemplate> <div id="textualPart"> <h4 style="float:left"><asp:LinkButton ID="lnk_btn_resource_title" runat="server" Text='<%#Eval("share_Resource_Title").ToString().Substring(0, Math.Min(Eval("share_Resource_Title").ToString().Length, 50)) %>' CommandName="Preview" CommandArgument='<%# Eval("share_Resource_ID") %>'></asp:LinkButton> </h4> <h4 style="float:right; margin-right:10px; font-size:14px"><asp:Label runat="server" Text='<%#Eval("privacy_Type_Name") %>'></asp:Label> <asp:LinkButton ID="lnk_btn_edit_post" runat="server" title="Edit" CommandName="Edit" CommandArgument='<%# Eval("share_Resource_ID") %>'><img src="Images/edit_icon.png" height="25" width="25" style="background-color:transparent; height:25px; width:25px; margin-bottom:10px" /> </asp:LinkButton> <Ajax:ModalPopupExtender ID="ModalPopupExtender1" runat="server" TargetControlID="lnk_btn_edit_post" PopupControlID="Panel2" BackgroundCssClass="modalBackground" CancelControlID="btn_cancle" Drag="true"></Ajax:ModalPopupExtender> </h4><br /><br /><br /> <h5 style="width:250px; float:left;color:#f67e0a" > <b> Field:</b> <asp:Label ID="lbl_field" runat="server" Text='<%#Eval("field_Name") %>' Font-Size="12"></asp:Label></h5> <h5 style="width:250px; float:left; margin-left:20px;color:#f67e0a"><b> IdeaTye: </b><asp:Label ID="lbl_idea_type" runat="server" Text='<%#Eval("share_Type_Name") %>' Font-Size="13"></asp:Label></h5><br /><br /> <h6><asp:Label ID="lbl_description" runat="server" Text='<%#Eval("share_Resource_Description") %>' Style="font-size:16px; font-family:Calibri" ></asp:Label> </h6><br /> <img src="Images/doted_border.png" width="500" style="margin-left:50px" /> </div> </ItemTemplate> </asp:Repeater> <asp:Panel ID="Panel2" runat="server" CssClass="modalPopup" Align="Top" style = "display:none"> <asp:Label ID="Label1" runat="server"></asp:Label> <div class="form-group"> <div class="col-lg-10"> <asp:TextBox ID="tb_edit_share_idea_title" runat="server" CssClass="form-control" ForeColor="Black" MaxLength="80"></asp:TextBox> </div> </div><br /><br /> <div class="form-group"> <div class="col-lg-10"> <asp:DropDownList ID="ddl_edit_share_idea_type" runat="server" CssClass="form-control ddl" Width="400"> <asp:ListItem></asp:ListItem> </asp:DropDownList> </div> </div><br /><br /> <div class="form-group"> <div class="col-lg-10"> <asp:DropDownList ID="ddl_edit_study_area" runat="server" CssClass="form-control ddl" Width="400"> <asp:ListItem></asp:ListItem> </asp:DropDownList> </div> </div><br /><br /> <div class="form-group"> <div class="col-lg-10"> <asp:DropDownList ID="ddl_edit_privacy" runat="server" CssClass="form-control ddl" Width="400"> <asp:ListItem></asp:ListItem> </asp:DropDownList> </div> </div> <div class="form-group"> <div class="col-lg-10"> <asp:TextBox ID="tb_edit_share_idea_description" runat="server" placeholder="Description" TextMode="MultiLine" Rows="3" CssClass="form-control" ForeColor="Black"></asp:TextBox> </div> </div> <div class="form-group"> <div class="col-lg-10 col-lg-offset-2"> <asp:Button ID="btn_update_post" runat="server" CssClass="btn btn-primary" Text="Update" OnClick="btn_update_post_Click" />                <asp:Button ID="btnCancel" runat="server" CssClass="btn btn-danger" Text="Cancel" /> </div> </div> </asp:Panel>
protected void rptr_my_post_ItemCommand(object source, RepeaterCommandEventArgs e) { try { int postID = Convert.ToInt32(e.CommandArgument.ToString()); else if (e.CommandName == "Edit") { DataTable dt = new DataTable(); _idea.ShareResourceID = postID; dt = _idea.GetIdeaDetails(_idea); if (dt.Rows.Count > 0) { tb_edit_share_idea_title.Text = Convert.ToString( dt.Rows[0]["share_Resource_Title"]); tb_edit_share_idea_description.Text = Convert.ToString( dt.Rows[0]["share_Resource_Description"]); ddl_edit_study_area.SelectedItem.Text = Convert.ToString( dt.Rows[0]["field_Name"]); ddl_edit_share_idea_type.SelectedItem.Text = Convert.ToString( dt.Rows[0]["share_Type_Name"]); ddl_edit_privacy.SelectedItem.Text = Convert.ToString( dt.Rows[0]["privacy_Type_Name"]); AjaxControlToolkit.ModalPopupExtender mpex2 = (AjaxControlToolkit.ModalPopupExtender)e.Item.FindControl("ModalPopupExtender1"); mpex2.Show(); } } } catch (Exception ex) { } }
Wednesday, June 22, 2016 6:31 AM
All replies
-
User-271186128 posted
Hi DanyalHaider,
. It will show me panel2 but fields are not filled. can you tell me what's wrong with my codeAccording to your code, I suggest you could set a break point in the ItemCommand event, then you can see that the ItemCommand event not working.
The issue is related to the Ajax ModalPopupExtender, when we click the TargetControl, it will use Ajax to call the Popup Model and the page will not refresh.
To solve this issue, as davidstephan said, you could add a TargetControl and set the visiable property to false (You can put the target control and the ModalPopupExtender outside the Repeater). Then, in the Repeater ItemCommand event, you could call the show method to open the popup modal.
Best regards,
DillionThursday, June 23, 2016 7:06 AM