我没有在我的代码或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);
}
}
答案 0 :(得分:0)
ASP.net中的默认行为是,当您单击某个按钮时,浏览器会向服务器发出一个新请求,其中包含有关所单击按钮的信息。这称为回发。
您确实说过,当您在.aspx文件中的按钮上说runat="server"
时,页面应该重新加载。
我看到两个解决方法:
AJAX。
你可以让ASP.net AJAX更新只是页面的一部分,或者你可以关闭runat=server
有一个AJAX调用点击网页webmethod这样做
更改“重试弹出窗口”
或者您可以更改“重试”对话框的显示方式?这是你的页面加载方法吗?你可以只放if (!this.IsPostBack)