0

我有一个列表视图和一些带有“OnItemCommand”命令的代码隐藏,在我的网络应用程序上执行一些操作。我想通过单击 ListView 中的图标将 ListView 中的条目添加到 MySql 数据库。

Listview 并没有那么小,有时您必须向下滚动才能找到正确的条目。如果我单击其中一个按钮,页面会重新加载并滚动到页面顶部。但我希望页面保持不变。我不想在每次点击后向下滚动以找到我之前的位置。

任何人有一些想法如何做到这一点?

这是我的 ListView_OnItemCommand 代码隐藏:

protected void addTextModuleList_OnItemCommand(object sender, ListViewCommandEventArgs e)
    {
        // read the ticket ID from e
        ListViewDataItem dataItem = (ListViewDataItem)e.Item;

        if (String.Equals(e.CommandName, "insertTextModule"))
        {
            //connect to database
            MySqlConnection con = new MySqlConnection();
            con.ConnectionString = Helper.CONNECTION_STRING;
            MySqlCommand cmd = null;

            // insert new entrys for customer            
            cmd = new MySqlCommand();
            con.Open();
            cmd.Parameters.AddWithValue("@customer", Session["currentCustomerId"]);
            int id = Convert.ToInt16(addTextModuleList.DataKeys[dataItem.DisplayIndex].Value.ToString());
            cmd.Parameters.AddWithValue("@textModule", id);
            cmd.Parameters.AddWithValue("@confirmationId", Session["currentConfirmationId"].ToString());
            cmd.CommandText = "INSERT INTO linktextmodule (customer, textModule, confirmationID) " + "VALUES(@customer, @textModule, @confirmationId)";
            cmd.Connection = con;
            cmd.ExecuteNonQuery();
            con.Close();

            //change the cssClass of the linkButton
            LinkButton addTextModuleButton = e.Item.FindControl("addTextModuleButton") as LinkButton;
            addTextModuleButton.CssClass = "insertTextModuleButton";
        }
    }
4

3 回答 3

1

您可以使用这两种方法在回发时保持页面位置

在页面声明中

<%@ Page MaintainScrollPositionOnPostback="true" %>

或者在web.config文件中。

<pages maintainScrollPositionOnPostBack="true" />
于 2012-11-12T06:14:38.897 回答
0

使用ajax工具包的更新面板控件

于 2013-07-10T08:55:39.840 回答
-1

使用 Page.SmartNavigation 属性为 true。欲了解更多信息,请参阅下面的链接

http://msdn.microsoft.com/en-us/library/system.web.ui.page.smartnavigation(v=vs.90).aspx

于 2012-11-12T04:38:16.000 回答