一页网站和 ASP GridView 回发问题

One page website and ASP GridView postback issue

我有一个包含不同部分的单页网站。一个特定部分(第 2 部分)具有允许内联编辑的网格视图。

问题: 当 OnClick 方法被触发时,它会导致回发并且页面滚动到第一部分。

为了覆盖它,我尝试了同样的重定向:

Response.Redirect("Home.aspx#section2");

在这种情况下,它完美地重定向但gridview 编辑模板丢失并再次显示项目模板。我的猜测是,gridview 正在反弹。

我也尝试过 here 的 javascript 方法。它给出了相同的结果。

<asp:Button ID="Edit" runat="server" Text="Edit" OnClick="Edit_OnClick" 
 OnClientClick="document.location.href+='#section2';return false;"></asp:Button>

我还尝试了 link 按钮的 portbackurl 属性。我得到了同样的意外结果。

关于我应该如何解决这个问题有什么建议吗?我只想能够在没有页面刷新或重定向的情况下转到第 2 部分。 感谢您提前提供帮助! :)

了解 UseSubmitProperty 或试试这个..

<a data-toggle="modal" href="login.aspx#myModal">Forgot Password?</a>

<div aria-hidden="true" aria-labelledby="myModalLabel" role="dialog" tabindex="-1" id="myModal" class="modal fade">
                        <div class="modal-dialog">
                            <div class="modal-content">
                                <div class="modal-header">
                                    <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>
                                    <h4 class="modal-title">Forgot Password ?</h4>
                                </div>
                                <div class="modal-body">
                                    <p>Enter your e-mail address below to reset your password.</p>
                                    <asp:TextBox ID="emailForgot" placeholder="Email" CssClass="form-control" runat="server" TextMode="Email"></asp:TextBox>
                                </div>
                                <div class="modal-footer">
                                    <button data-dismiss="modal" class="btn btn-default" type="button">Cancel</button>
                                    <asp:LinkButton ID="LinkButton1" CssClass="btn btn-theme" runat="server" OnClick="LinkButton1_Click">Submit</asp:LinkButton>
                                </div>
                            </div>
                        </div>
                    </div>

您可以像下面那样在更新面板中移动您的 gridview,并在点击按钮后更新更新面板的代码

ASPX:

在页面标签上将 MaintainScrollPositionOnPostback 设置为 true

或者您可以进行部分回发

 <asp:UpdatePanel ID="updList" runat="server" UpdateMode="Conditional">
                                    <ContentTemplate>

.......

  </ContentTemplate>
                                </asp:UpdatePanel>

隐藏代码:

protected void Edit_OnClick(object sender, EventArgs e)
        {
           //code to update data or save data
            updList.Update();           
        }