管理者が新しいgridviewを削除または追加できるWebサイトがあります。たとえば、giordano製品のグリッドビューを現在持っていて、そのブランドをbossini製品に変更したい場合などです。管理者が編集ボタンをクリックすると、giordano製品全体のグリッドビューとコードが削除されます。すでに更新モードになっていて、ブランド名を「bossini」に変更して更新をクリックした場合、新しいgridviewとbossini製品のコードを追加する必要があります。gridview(asp.net)で更新モードに入る前に全ページをリフレッシュするには?
ここに問題があります。編集ボタンをクリックすると、グリッドビューコード全体が削除されますが、グリッドビュー自体はウェブサイトに表示されます。私は最終的に私はページを更新する必要があることを知っているが、私はまだ最良の方法を知らない。私はGuitarBrandsGridView_RowEditingでResponse.Redirect( "urls")を試しましたが、動作していないので例外が出ています。 GuitarBrandsGridView_RowDeleting thoで動作します。私はちょうどそれが私の編集ボタンのために働くかもしれないと仮定しましたが、それは失敗しました。
私の目標は、グリッドビューの編集ボタンをクリックすると、ウェブページ全体が更新され、更新モードに移行することです。これが理にかなってほしい。
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack) {
bindgridviewguitarbrands();
BindGridViewDataList.GetItemsLoad();
}
}
//Start of Gridview Code for Guitar Brands
private void bindgridviewguitarbrands()
{
con1.Open();
cmd1.CommandText = "SELECT * FROM [guitarBrands]";
cmd1.Connection = con1;
SqlDataAdapter da1 = new SqlDataAdapter(cmd1);
da1.Fill(ds1);
con1.Close();
GuitarBrandsGridView.DataBind();
}
protected void GuitarBrandsGridView_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string name = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "Name"));
Button button = (Button)e.Row.FindControl("GuitarBrandsGridViewBtnDelete");
button.Attributes.Add("onclick", "JavaScript:return ConfirmationBox('" + name + "')");
}
}
protected void GuitarBrandsGridView_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
int id = Convert.ToInt32(GuitarBrandsGridView.DataKeys[e.RowIndex].Value.ToString());
Label name = (Label)GuitarBrandsGridView.Rows[e.RowIndex].FindControl("lblName");
RemoveCodeToGuitarFile.RemoveAddGuitarClass(name.Text);
RemoveCodeToGuitarFile.RemoveConnectionClassGuitarItems(name.Text);
RemoveCodeToGuitarFile.RemoveOverviewGuitarDataASPX(name.Text);
RemoveCodeToGuitarFile.RemoveOverviewGuitarDataCode(name.Text);
File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItems" + id + ".aspx");
File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItems" + id + ".aspx.cs");
ConnectionClassGuitarBrands.RemoveGuitarBrandsDatabase(name.Text);
con1.Open();
cmd1.CommandText = "DELETE FROM [guitarBrands] WHERE id=" + id;
cmd1.Connection = con1;
int a = cmd1.ExecuteNonQuery();
con1.Close();
if (a > 0) {
bindgridviewguitarbrands();
}
Response.Redirect("~/Pages/OverviewGuitarData.aspx");
}
protected void GuitarBrandsGridView_RowEditing(object sender, GridViewEditEventArgs e)
{
GuitarBrandsGridView.EditIndex = e.NewEditIndex;
string id = GuitarBrandsGridView.DataKeys[e.NewEditIndex].Value.ToString();
Label name = (Label)GuitarBrandsGridView.Rows[e.NewEditIndex].FindControl("lblName");
RemoveCodeToGuitarFile.RemoveAddGuitarClass(name.Text);
RemoveCodeToGuitarFile.RemoveConnectionClassGuitarItems(name.Text);
RemoveCodeToGuitarFile.RemoveOverviewGuitarDataASPX(name.Text);
RemoveCodeToGuitarFile.RemoveOverviewGuitarDataCode(name.Text);
File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItems" + id + ".aspx");
File.Delete(@"C:\Users\User1\Documents\Visual Studio 2015\WebSites\MusicStore\Pages\GuitarItems" + id + ".aspx.cs");
ConnectionClassGuitarBrands.RemoveGuitarBrandsDatabase(name.Text);
bindgridviewguitarbrands();
Response.Redirect("~/Pages/OverviewGuitarData.aspx");//this one is not working
}
// row update event
protected void GuitarBrandsGridView_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
// find student id of edit row
string id = GuitarBrandsGridView.DataKeys[e.RowIndex].Value.ToString();
// find updated values for update
TextBox type = (TextBox)GuitarBrandsGridView.Rows[e.RowIndex].FindControl("txtType");
TextBox name = (TextBox)GuitarBrandsGridView.Rows[e.RowIndex].FindControl("txtName");
TextBox image = (TextBox)GuitarBrandsGridView.Rows[e.RowIndex].FindControl("txtImage");
cmd1 = new SqlCommand("UPDATE [guitarBrands] SET Type = '" + type.Text + "', Name = '" + name.Text + "', Image = '" + image.Text + "' WHERE ID = " + id, con1);
con1.Open();
cmd1.ExecuteNonQuery();
con1.Close();
int ID = Convert.ToInt32(id);
ConnectionClassGuitarBrands.CreateGuitarBrandsDatabase(name.Text);
AddCodeToGuitarFile.AddGuitarClassCode(name.Text, ID);
AddCodeToGuitarFile.AddConnectionClassGuitarItems(name.Text);
AddCodeToGuitarFile.AddOverviewGuitarDataASPX(name.Text, ID);
AddCodeToGuitarFile.AddOverviewGuitarDataASPXCode(name.Text);
AddASPXAndCSFileForGuitarBrands.AddFile(name.Text, ID);
GuitarBrandsGridView.EditIndex = -1;
bindgridviewguitarbrands();
}
// cancel row edit event
protected void GuitarBrandsGridView_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
string id = GuitarBrandsGridView.DataKeys[e.RowIndex].Value.ToString();
TextBox name = (TextBox)GuitarBrandsGridView.Rows[e.RowIndex].FindControl("txtName");
int ID = Convert.ToInt32(id);
ConnectionClassGuitarBrands.CreateGuitarBrandsDatabase(name.Text);
AddCodeToGuitarFile.AddGuitarClassCode(name.Text, ID);
AddCodeToGuitarFile.AddConnectionClassGuitarItems(name.Text);
AddCodeToGuitarFile.AddOverviewGuitarDataASPX(name.Text, ID);
AddCodeToGuitarFile.AddOverviewGuitarDataASPXCode(name.Text);
AddASPXAndCSFileForGuitarBrands.AddFile(name.Text,ID);
GuitarBrandsGridView.EditIndex = -1;
bindgridviewguitarbrands();
}
私はこれを挿入しますか? )(Response.Endのを実行して、私が言ったように – BrunoEarth
メソッドbindgridviewguitarbrandsは() –
私は私のGridViewの – BrunoEarth