mashhadpix
جمعه 26 اردیبهشت 1393, 19:39 عصر
سلام به همگی
من یه پنل ساده مدیریت عکس آماده کردم ولی وقتی برای ویرایش می روم عکس جدیدی انتخاب می کنم و دکمه ثبت را میزنم ویرایش انجام می شود ولی در gridview به من نشان نمی دهد. فقط برای عکس مشکل به وجود آمده است. این در حالی است که در پوشه عکس همه چی درست است عکس جدید جایگزین شده است و با یک بار رفرش مرورگر درست کار می کند.
دکمه ثبت برای ثبت رکورد جدید و ویرایش:
protected void btnsave_Click(object sender, EventArgs e)
{
if (ViewState["ID"] == null)
{
string ImageName = "NoImage.png";
if (FUImage.HasFile)
{
ImageName = Guid.NewGuid().ToString().Replace("-", "") + ".jpg";
FUImage.SaveAs(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName));
ImageResizer img = new ImageResizer();
img.Resize(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName),
Server.MapPath("/zukker/images/SlideShow/Thumb/" + ImageName));
}
SlideShows ss = new SlideShows()
{
SlideTitle = txtTitle.Text,
SlideText = txtText.Text,
SlideImage = ImageName
};
Context.SlideShows.AddObject(ss);
Context.SaveChanges();
GridView1.DataBind();
}
else
{
int ID = int.Parse(ViewState["ID"].ToString());
var SlideShow = (from ss in Context.SlideShows
where ss.SlideShowID == ID
select ss).First();
SlideShow.SlideTitle = txtTitle.Text;
SlideShow.SlideText = txtText.Text;
string ImageName = SlideShow.SlideImage;
if (FUImage.HasFile)
{
if (ImageName != "NoImage.png")
{
FUImage.SaveAs(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName));
ImageResizer img = new ImageResizer();
img.Resize(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName),
Server.MapPath("/zukker/images/SlideShow/Thumb/" + ImageName));
}
else
{
ImageName = Guid.NewGuid().ToString().Replace("-", "") + ".jpg";
FUImage.SaveAs(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName));
ImageResizer img = new ImageResizer();
img.Resize(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName),
Server.MapPath("/zukker/images/SlideShow/Thumb/" + ImageName));
}
}
SlideShow.SlideImage = ImageName;
Context.SaveChanges();
GridView1.DataBind();
}
GridView1.DataBind();
MultiView1.SetActiveView(View1);
Response.Redirect(Request.Url.AbsoluteUri);
}
و رویداد RowCommand گرید ویو برای ویرایش و حذف:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "DoEdit":
{
int ID = int.Parse(e.CommandArgument.ToString());
var SlideShow = Context.SlideShows.First(ss => ss.SlideShowID == ID);
txtTitle.Text = SlideShow.SlideTitle;
txtText.Text = SlideShow.SlideText;
ImageSlide.ImageUrl = "/zukker/images/SlideShow/Thumb/" + SlideShow.SlideImage;
ViewState["ID"] = ID;
MultiView1.SetActiveView(View2);
GridView1.DataBind();
break;
}
case "DoDelete":
{
int ID = int.Parse(e.CommandArgument.ToString());
var SlideShow = Context.SlideShows.First(ss => ss.SlideShowID == ID);
if (SlideShow.SlideImage != "NoImage.png")
{
System.IO.File.Delete(Server.MapPath("/zukker/images/SlideShow/Image/" + SlideShow.SlideImage));
System.IO.File.Delete(Server.MapPath("/zukker/images/SlideShow/Thumb/" + SlideShow.SlideImage));
}
Context.SlideShows.DeleteObject(SlideShow);
Context.SaveChanges();
GridView1.DataBind();
break;
}
}
}
ممنون میشم پاسخگو باشید
من یه پنل ساده مدیریت عکس آماده کردم ولی وقتی برای ویرایش می روم عکس جدیدی انتخاب می کنم و دکمه ثبت را میزنم ویرایش انجام می شود ولی در gridview به من نشان نمی دهد. فقط برای عکس مشکل به وجود آمده است. این در حالی است که در پوشه عکس همه چی درست است عکس جدید جایگزین شده است و با یک بار رفرش مرورگر درست کار می کند.
دکمه ثبت برای ثبت رکورد جدید و ویرایش:
protected void btnsave_Click(object sender, EventArgs e)
{
if (ViewState["ID"] == null)
{
string ImageName = "NoImage.png";
if (FUImage.HasFile)
{
ImageName = Guid.NewGuid().ToString().Replace("-", "") + ".jpg";
FUImage.SaveAs(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName));
ImageResizer img = new ImageResizer();
img.Resize(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName),
Server.MapPath("/zukker/images/SlideShow/Thumb/" + ImageName));
}
SlideShows ss = new SlideShows()
{
SlideTitle = txtTitle.Text,
SlideText = txtText.Text,
SlideImage = ImageName
};
Context.SlideShows.AddObject(ss);
Context.SaveChanges();
GridView1.DataBind();
}
else
{
int ID = int.Parse(ViewState["ID"].ToString());
var SlideShow = (from ss in Context.SlideShows
where ss.SlideShowID == ID
select ss).First();
SlideShow.SlideTitle = txtTitle.Text;
SlideShow.SlideText = txtText.Text;
string ImageName = SlideShow.SlideImage;
if (FUImage.HasFile)
{
if (ImageName != "NoImage.png")
{
FUImage.SaveAs(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName));
ImageResizer img = new ImageResizer();
img.Resize(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName),
Server.MapPath("/zukker/images/SlideShow/Thumb/" + ImageName));
}
else
{
ImageName = Guid.NewGuid().ToString().Replace("-", "") + ".jpg";
FUImage.SaveAs(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName));
ImageResizer img = new ImageResizer();
img.Resize(Server.MapPath("/zukker/images/SlideShow/Image/" + ImageName),
Server.MapPath("/zukker/images/SlideShow/Thumb/" + ImageName));
}
}
SlideShow.SlideImage = ImageName;
Context.SaveChanges();
GridView1.DataBind();
}
GridView1.DataBind();
MultiView1.SetActiveView(View1);
Response.Redirect(Request.Url.AbsoluteUri);
}
و رویداد RowCommand گرید ویو برای ویرایش و حذف:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "DoEdit":
{
int ID = int.Parse(e.CommandArgument.ToString());
var SlideShow = Context.SlideShows.First(ss => ss.SlideShowID == ID);
txtTitle.Text = SlideShow.SlideTitle;
txtText.Text = SlideShow.SlideText;
ImageSlide.ImageUrl = "/zukker/images/SlideShow/Thumb/" + SlideShow.SlideImage;
ViewState["ID"] = ID;
MultiView1.SetActiveView(View2);
GridView1.DataBind();
break;
}
case "DoDelete":
{
int ID = int.Parse(e.CommandArgument.ToString());
var SlideShow = Context.SlideShows.First(ss => ss.SlideShowID == ID);
if (SlideShow.SlideImage != "NoImage.png")
{
System.IO.File.Delete(Server.MapPath("/zukker/images/SlideShow/Image/" + SlideShow.SlideImage));
System.IO.File.Delete(Server.MapPath("/zukker/images/SlideShow/Thumb/" + SlideShow.SlideImage));
}
Context.SlideShows.DeleteObject(SlideShow);
Context.SaveChanges();
GridView1.DataBind();
break;
}
}
}
ممنون میشم پاسخگو باشید