سلام
من تابحال فقط از گرید استفاده کردم و کار با دیتالیست رو بلد نیستم. حالا دیتالیست رو به این صورت نوشتم:
<asp:DataList ID="DataList1" runat="server"> <ItemTemplate> <ul> <li> <p><%# Eval("Title") %></p> <asp:Button ID="Button1" OnClick="Button1_Click" CssClass="Button1" runat="server" Text="ویرایش" /> <span><%#Eval("DateReg") %></span> </li> </ul> </ItemTemplate> </asp:DataList>
و کدنویسی رو به این صورت نوشتم:
public void Databind1() { DAL run = new DAL(); DataTable dt = new DataTable(); string sqlText = "select top 5 * from Tbl_Content where subjectid=4 order by id desc"; dt = run.ExecuteQuery(sqlText); DataList1.DataSource = dt; DataList1.DataBind(); }
حالا خروجی رو صحیح برام میاره:
پنل رو با Web User Control نوشتم و آدرس صفحه ویرایش مطلب میشه Panel.aspx?id=8
باید برای ویرایش مطلب چیکار کنم؟ یعنی باید توی رویداد کلیک باتن، ریدایرکت کنم به صفحه Panel.aspx?id=8 و محتوا رو بریزم توی فیلد ها؟ اگه آره چجوری باید این کارو بکنم؟
من این کد رو نوشتم که ارور میده و کار نمیکنه:
protected void Button1_Click(object sender, EventArgs e) { DAL run = new DAL(); DataTable dt = new DataTable(); string sqltext = string.Format("select * from tbl_content where id={0}", Request.QueryString["ID"]); dt = run.ExecuteQuery(sqltext); if (dt.Rows.Count > 0) { Response.Redirect("Panel.aspx?id=8"); ID.Value = dt.Rows[0]["ID"].ToString(); Title.Value = dt.Rows[0]["Title"].ToString(); SmallText.Text = dt.Rows[0]["SmallText"].ToString(); LongText.Text = dt.Rows[0]["LongText"].ToString(); } }
مشکل کارم کجاست؟ اگر ممکنه یکم راهنمایی کنید اولین باره با دیتالیست کار میکنم. ممنون
میتونید در رویداد ItemComman از DataList رویداد Button را مدیریت کنید
معمولا از MultiView استفاده میکنیم
یعنی کد هایی که در رویداد باتن نوشتم رو باید در رویداد آیتم کامند بنویسم؟
بله
کد ها رو قرار دادم استاد اما این ارور رو میده:
خیلی ممنونم درست شد
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)