문제

팝업을 생성하는 버튼이 있습니다.

<ItemTemplate>
        <asp:Button ID="viewHoursButton" runat="server" Text="View Hours" OnClick="viewHoursButton_OnClick" />
        <ajaxToolkit:ModalPopupExtender ID="viewHoursPopup" runat="server"
                TargetControlID="viewHoursButton"
                PopupControlID="viewHoursPanel"
                CancelControlID="closeInfoPanelButton2"
                DropShadow="true">
                </ajaxToolkit:ModalPopupExtender>
    <asp:Panel ID="viewHoursPanel" runat="server" CssClass="infoPanel">
           //content of panel including gridview
    </asp:Panel>
</ItemTemplate>

팝업 패널에는 GridView가 있고 버튼을 누르면 SQL 매개 변수가 전달됩니다. :

protected void viewHoursButton_OnClick(object sender, EventArgs e)
{
    Button btn = sender as Button;
    GridViewRow row = btn.NamingContainer as GridViewRow;
    SqlDataSource6.SelectParameters["nonScrumStoryId"].DefaultValue = storyGridView.DataKeys[row.RowIndex].Values[0].ToString();
    var viewHoursGridView = storyGridView.FindControl("viewHoursGridView") as GridView;
    if (viewHoursGridView != null)
    {
        viewHoursGridView.DataBind();
    }
}

문제는 서버에 대한 포스트 백이 없기 때문에 GridView가 표시되지 않는다는 것입니다. ajaxtoolkit : modalpopupextender에 버튼을 추가하면 Postback이 pevented됩니다. 어떻게 되 찾을 수 있습니까?

도움이 되었습니까?

해결책

부착하여 JavaScript로 Postback을 강제 할 수 있습니다 __doPostBack 이벤트에.

function doClick(sender, e) { 
__doPostBack(sender,e); 
} 

다른 팁

안녕하세요 저는이 코드 JavaScript를 사용하여 팝업을 닫고 부모 웹 형태를 새롭게합니다.

    Dim str_java As String = "<script language='javascript'>"
    str_java += (" window.onunload = refreshParent; ")
    str_java += (" function refreshParent() { ")
    str_java += (" window.self.location.reload(true); } ")
    str_java += (" window.close(); ")
    str_java += ("</script>")

    ScriptManager.RegisterStartupScript(Me, GetType(Page), "cerrarpagina", str_java, False)

이것은 당신을 도울 수 있습니다

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top