詳細ビューからコーディングまで、データベースにデータを挿入または更新しようとしています。非常に簡単なので、詳細ビューにデータソースを提供しません。プログラムでやりたいです。
私が言ったように、私はデータソースを直接提供しませんでした。ページの読み込み時に行いました。
static string conn = ConfigurationManager.ConnectionStrings["AptechConnectionString"].ConnectionString;
SqlConnection con = new SqlConnection(conn);
protected void Page_Load(object sender, EventArgs e)
{
DetailsView1.AutoGenerateInsertButton = true;
DetailsView1.AutoGenerateEditButton = true;
DetailsView1.AutoGenerateDeleteButton = true;
Data_Bind();
}
public void Data_Bind()
{
string query = "select * from students";
SqlCommand cmd = new SqlCommand(query, con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
DetailsView1.DataSource = dt;
DetailsView1.DataBind();
ViewState["Data"] = dt;
}
gridviewと同じようにやってみました
protected void DetailsView1_ItemInserting(object sender, DetailsViewInsertEventArgs e)
{
try
{
id = (TextBox)DetailsView1.Rows[0].Cells[1].FindControl("TextBox1");
name = (TextBox)DetailsView1.Rows[0].Cells[1].FindControl("TextBox2");
batch = (TextBox)DetailsView1.Rows[0].Cells[1].FindControl("TextBox3");
enrolled = (TextBox)DetailsView1.Rows[0].Cells[1].FindControl("TextBox4");
teacher = (TextBox)DetailsView1.Rows[0].Cells[1].FindControl("TextBox5");
}
catch (Exception ex)
{
Label1.Text = ex.Message;
Label1.Visible = true;
}
}
protected void DetailsView1_ItemCommand(object sender, DetailsViewCommandEventArgs e)
{
switch (e.CommandName.ToString())
{
case "New":
DetailsView1.ChangeMode(DetailsViewMode.Insert);
Data_Bind();
break;
}
}
しかし、[編集]または[リンクの挿入]ボタンをクリックすると、このエラーが発生します
DetailsView'DetailsView1'は、処理されなかったイベントModeChangingを発生させました。」
私が欠けているものは何ですか?