سلام
این جدول دیتابیس من هست:
این هم محتوای وب فرم:
<div class="Alert"> <p id="Alert" runat="server"></p> </div> <div class="LACNum3"> <asp:GridView ID="CntGridView1" CssClass="mGrid" PagerStyle-CssClass="pgr" AlternatingRowStyle-CssClass ="alt" dir="rtl" runat="server" BackColor="White" BorderColor="#999999" BorderStyle="None" BorderWidth="1px" CellPadding="3" GridLines="Vertical" AllowPaging="True" OnPageIndexChanging="CntGridView1_PageIndexChanging" PageSize="8" AutoGenerateColumns="False" OnRowCommand="CntGridView1_RowCommand"> <AlternatingRowStyle BackColor="#DCDCDC" /> <Columns> <asp:BoundField DataField="Cnt_ID" HeaderText="کد" /> <asp:BoundField DataField="Cnt_Title" HeaderText="عنوان مطلب" /> <asp:BoundField DataField="Cnt_DateReg" HeaderText="تاریخ درج" /> <asp:ButtonField HeaderText="حذف" CommandName="DeleteContent" Text="حذف" /> <asp:ButtonField HeaderText="ویرایش" CommandName="EditeContent" Text="ویرایش" /> </Columns> </asp:GridView> </div> <input type="hidden" id="ID" runat="server" /> <div class="LACNum1"> <div class="LACN1Right"> <span>عنوان مطلب : </span> </div> <div class="LACN1Left"> <input type="text" id="Title" runat="server" /> </div> </div> <div class="LACNum3"> <div class="LACN3Right"> <span>خلاصه مطلب : </span> </div> <div class="LACN3Left"> <CKEditor:CKEditorControl ID="SmallText" runat="server"></CKEditor:CKEditorControl> </div> </div> <div class="LACNum3"> <div class="LACN3Right"> <span>ادامه مطلب : </span> </div> <div class="LACN3Left"> <CKEditor:CKEditorControl ID="LongText" runat="server"></CKEditor:CKEditorControl> </div> </div> <div class="LACNum1"> <div class="LACN1Right"> <span>لینک عکس اول : </span> </div> <div class="LACN1Left"> <input type="text" id="SmallPic1" runat="server" /> </div> </div> <div class="LACNum1"> <div class="LACN1Right"> <span>لینک عکس دوم : </span> </div> <div class="LACN1Left"> <input type="text" id="SmallPic2" runat="server" /> </div> </div> <div class="LACNum1"> <div class="LACN1Right"> <span>لینک عکس سوم : </span> </div> <div class="LACN1Left"> <input type="text" id="SmallPic3" runat="server" /> </div> </div> <div class="LACNum1"> <div class="LACN1Right"> <span>لینک عکس چهارم : </span> </div> <div class="LACN1Left"> <input type="text" id="SmallPic4" runat="server" /> </div> </div> <div class="LACNum2"> <asp:Button ID="OK" runat="server" Text="ثبت" CssClass="OK" OnClick="OK_Click" /> </div>
و این هم کدنویسی:
using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; public partial class Admin_Controls_ListContent : System.Web.UI.UserControl { protected void Page_Load(object sender, EventArgs e) { Alert.InnerText = "ویرایش اطلاعات یا حذف مطالب"; Gridbind(); } public void Gridbind() { DAL run = new DAL(); DataTable dt = new DataTable(); string sqlText = "select * from Tbl_Content where cnt_subjectid=1"; dt = run.ExecuteQuery(sqlText); CntGridView1.DataSource = dt; CntGridView1.DataBind(); } protected void CntGridView1_PageIndexChanging(object sender, GridViewPageEventArgs e) { CntGridView1.PageIndex = e.NewPageIndex; Gridbind(); } protected void CntGridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "DeleteContent") { int row = Convert.ToInt32(e.CommandArgument); int id = Convert.ToInt32(CntGridView1.Rows[row].Cells[0].Text); string st = string.Format("delete from Tbl_Content where Cnt_ID={0} ", id); DAL d1 = new DAL(); d1.ExecNonQuery(st); Alert.InnerText = "با موفقیت حذف شد"; Gridbind(); } else { int row = Convert.ToInt32(e.CommandArgument); int id = Convert.ToInt32(CntGridView1.Rows[row].Cells[0].Text); string st = string.Format("select * from Tbl_Content where Cnt_ID={0} ", id); DAL d1 = new DAL(); DataTable dt = new DataTable(); dt = d1.ExecuteQuery(st); if (dt.Rows.Count > 0) { ID.Value = dt.Rows[0]["Cnt_ID"].ToString(); Title.Value = dt.Rows[0]["Cnt_Title"].ToString(); SmallText.Text = dt.Rows[0]["Cnt_SmallText"].ToString(); LongText.Text = dt.Rows[0]["Cnt_LongText"].ToString(); SmallPic1.Value = dt.Rows[0]["Cnt_SmallPic1"].ToString(); SmallPic2.Value = dt.Rows[0]["Cnt_SmallPic2"].ToString(); SmallPic3.Value = dt.Rows[0]["Cnt_SmallPic3"].ToString(); SmallPic4.Value = dt.Rows[0]["Cnt_SmallPic4"].ToString(); } } } protected void OK_Click(object sender, EventArgs e) { DAL d1 = new DAL(); string st = string.Format("update Tbl_Content set Cnt_Title=N'{0}', Cnt_SmallText=N'{1}',Cnt_LongText=N'{2}',Cnt_SmallPic1=N'{3}',Cnt_SmallPic2=N'{4}',Cnt_SmallPic3=N'{5}',Cnt_SmallPic4=N'{6}',Cnt_ID={7}" , Title.Value, SmallText.Text, LongText.Text, SmallPic1.Value, SmallPic2.Value, SmallPic3.Value, SmallPic4.Value, ID.Value); d1.ExecNonQuery(st); Alert.InnerText = "با موفقیت ویرایش شد"; ID.Value = ""; Title.Value = ""; SmallText.Text = ""; LongText.Text = ""; SmallPic1.Value = ""; SmallPic2.Value = ""; SmallPic3.Value = ""; SmallPic4.Value = ""; Gridbind(); } }
حذف که اعمال میشه و ویرایش رو هم میزنم فیلد ها محتوا رو میگیرن اما کدنویسی های OK_Click اعمال نمیشن. درواقع ارور هم نمیده فقط ویرایش نمیشه. دستور آپدیت هم که درسته نمیفهمم مشکل از کجاست
لطفا راهنمایی کنید ممنون
یک تصویر از فرم قرار دهید تا بتونم کمکتون کنم
این تصویر فرم خروجی هست استاد:
روی ویرایش میزنم محتوای دیتابیس داخل فرم ها میاد اما وقتی ثبت میکنم هیچی اعمال نمیشه فیلد ها هم خالی نمیشه درحالی که من توی کد نویسی مقادیر رو بعد از ثبت خالی کردم!
BreakPoint بزارید ببینید اصلا وارد بدنه رویداد CntGridView1_RowCommand میشه یا نه
استاد من breakPoint میذارم اما اصلا وارد ویژوال نمیشه وقتی ثبت میزنم :|
یک ستون از نوع Template در گرید ایجاد کنید و یک linkButton داخلش قرار دهید و خاصیت CommandName را برابر DeleteContent و CommandArgument را برابر کد خط قرار دهید
به احتمال خیلی زیاد درست میشه
یعنی باید اینجوری بنویسم؟
<asp:TemplateField HeaderText="حذف"> <ItemTemplate> <asp:LinkButton ID="Delete" Text="حذف" CommandName="DeleteContent" CommandArgument="DeleteContent" runat="server" /> </ItemTemplate> </asp:TemplateField>
اما خب حذف مشکلی نداشت ویرایش مشکل داشت!
<asp:LinkButton ID="Delete" Text="حذف" CommandName="DeleteContent" CommandArgument='<%Eval("Cnt_ID")%>' runat="server" />
من این رو گذاشتم استاد الان دیگه نه حذف کار میکنه نه ویرایش :|
برام جالبه دقیقا همون کد رو که نوشتم کپی کردم توی یه پروژه دیگه کار میکنه ولی توی این پروژه چیزی اعمال نمیشه!!!
یعنی ممکنه مشکل از بخش دیگه ای باشه؟
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)