私のコードやJavaScriptのどこにでもOKボタンをクリックするとページが更新されるはずがありません。しかし、ユーザーが[OK]ボタンをクリックすると、再試行のポップアップが表示されます。 これの背後にある理由はわかりません。ここでOKポップアップを再試行します
は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();
}
JavaScriptがOKボタン用です:
<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);
}
}
okボタンのコードはサーバー側のコードです。ページがサーバーに送信されない場合、どのように実行されますか? 「再試行」ダイアログ(フォームデータを再投稿したいかどうかをユーザーに尋ねるブラウザを意味すると仮定しています)の原因は、表示されたコードの外部にあるようです。表示されるコードは、ボタンをレンダリングしたり元のポストを実行したりすることはありません。サーバーのボタンをクリックするだけです。完全に機能する最小限の例でエラーを再現できますか? – David
GenerateTreeView(TableClass.MainTable)は何をしますか?再試行ポップアップをトリガーするウェブページコントロールをレンダリングするとしたらどうでしょうか? – Turbot
データベースからtreeviewリストの項目を追加するだけです – Ish