在Ok上重试弹出窗口

时间:2011-12-15 18:30:08

标签: c# asp.net

我没有在我的代码或JavaScript中说明在单击“确定”按钮时页面应该刷新。但是当用户单击“确定”按钮时,会出现重试弹出窗口。 我不确定这背后的原因是什么。

以下是我的OK按钮代码:

protected void btn_ok_click(object sender, EventArgs e)
{
    tree_items.Nodes.Clear();           
    TableClass.MainTable = new DataTable();

    SqlConnection connection1 = new SqlConnection();
    connection1.ConnectionString = ConfigurationManager.ConnectionStrings["A"].ConnectionString;

    SqlCommand command1 = new SqlCommand("GetStuff", connection1);
    command1.CommandType = CommandType.StoredProcedure;

    command1.Parameters.Add(new SqlParameter("@Id", solution_id));

    command1.CommandTimeout = 600;
    SqlDataAdapter adapter1 = new SqlDataAdapter(command1);

    connection1.Open();
    adapter1.Fill(TableClass.MainTable);

    GenerateTreeView(TableClass.MainTable);    

    adapter1.Dispose();
    command1.Dispose();
    connection1.Dispose();
}

以下是OK按钮的JavaScript:

<asp:Button ID="btn_ok" runat="server" Height="32px" OnClick="btn_ok_click"
    Text="OK" Width="100px" />

请帮忙。 这是GenerateTreeviw代码:

private void GenerateTreeView(DataTable table)
        {
            DataRow[] foundRows = table.Select("ParentId = -1", "OrderIndex");
            TreeNode RootParentNode = null;

            int j = 1;
            foreach (DataRow i in foundRows)
            {
                string NewParentNodeName = i.Field<string>("Name");

                string NewParentNodeKey = Convert.ToString(i.Field<int>("ItemId"));
                RootParentNode = new TreeNode(NewParentNodeName, NewParentNodeKey);              
                i["OrderIndex"] = j;
                j++;


                GenerateChildNodes(table, NewParentNodeKey, RootParentNode);
                tree_items.Nodes.Add(RootParentNode);
            }
        }

1 个答案:

答案 0 :(得分:0)

ASP.net中的默认行为是,当您单击某个按钮时,浏览器会向服务器发出一个新请求,其中包含有关所单击按钮的信息。这称为回发。

您确实说过,当您在.aspx文件中的按钮上说runat="server"时,页面应该重新加载。

我看到两个解决方法:

AJAX。

你可以让ASP.net AJAX更新只是页面的一部分,或者你可以关闭runat=server有一个AJAX调用点击网页webmethod这样做

更改“重试弹出窗口”

或者您可以更改“重试”对话框的显示方式?这是你的页面加载方法吗?你可以只放if (!this.IsPostBack)