javascript模式下的asp.net网格视图获胜'不要执着于改变索引

asp.net gridview in javascript modal won't persist on changing index

本文关键字:于改变 执着 索引 改变 asp 模式 net 网格 获胜 视图 javascript      更新时间:2023-09-26

我有一个javascript模式的asp.net网格视图。如果网格视图中有多个页面,并且我单击下一个页面(比如说2个页面),则模态将消失。我希望它在用户浏览列表时保持不变。如有任何帮助,我们将不胜感激。

Javascript:

function ShowSelRecipModal(msgIndex, intGridNum) {
    document.getElementById('hidMsgSelected').value = msgIndex;
    document.getElementById('hidGridUsed').value = intGridNum;
    Popup.showModal('modalSelRecipPopup', null, null, {
        'screenColor': '#99ff99',
        'screenOpacity': .6
    });
    return false;
}

HTML:

<div class="popUpForm" id="modalSelRecipPopup" style="border: 3px solid black; background-color: #ffffff; padding: 25px; display: none;">
    <div class="popUpRow">
        <asp:GridView ID="grdSelMsgList" runat="server" Width="400px" AllowPaging="True" PageSize="6" OnPageIndexChanging="grdSelMsgList_PageIndexChanging">
            <AlternatingRowStyle BackColor="#CCFFCC" />
            <Columns>
                <asp:TemplateField>
                    <ItemTemplate>
                        <asp:CheckBox ID="chkSelect" runat="server" />
                    </ItemTemplate>
                </asp:TemplateField>
            </Columns>
            <EditRowStyle BackColor="#FFCCCC" />
        </asp:GridView>
    </div>
    <div class="popUpRow">
        <asp:Label ID="Label3" runat="server" />
    </div>
    <asp:Button ID="btnSelRecip" runat="server" Text="OK" BackColor="White" ForeColor="Black" OnClick="btnSelRecip_Click" />
</div>

这听起来像是回发后没有重新生成模式对话框。对于asp.net Gridview控件,分页会导致回发,因此任何动态生成的元素/控件都必须重新添加到表单/页面中。有些人通过在加载到的容器中放置更新面板或将其作为模式对话框来解决此问题。我还完成了在当前页面的page_load事件和模态表单的代码后面使用true/false变量/会话来持久化模态对话框。这取决于你觉得使用什么更舒服,或者使用什么是必要的。

如果你使用"动态控件在回发时丢失"或"jQuery modal在回发后消失"搜索该网站或谷歌,你肯定会发现许多文章和代码示例可以帮助你解决这个问题。