تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
إنشاء موقع لبيع برامج المنتدى
#1
نحمده ونصلي على رسوله الكريم
السلام عليكم ورحمة الله

نبدأ مشروع جديد من نوع ASP.NET Web Application اسمه VB4ArbPrograms، ثم بعد ذلك نقوم بإضافة قاعدة بيانات للمشروع من خلال:

[صورة مرفقة: 31p1I.jpg]

[صورة مرفقة: L6FQv.jpg]

نضيف جدول اسمه Titles:
* لتخزين عنوان الموقع ونص الحقوق.

[صورة مرفقة: w5Xxi.jpg]

الأعمدة كما يلي:

[صورة مرفقة: yWLZn.jpg]

لا ننسى أن نجعل خاصية العمود ID مفتاح اساسي وترقيم تلقائي، بالضغط على العمود برز الفأرة الأيمن:

[صورة مرفقة: CNtAq.jpg]

ثم من الخصائص أسفل الصفحة:

[صورة مرفقة: QBWTb.jpg]

نضيف جدول آخر اسمه EMailOptions:
* لتخزين بيانات الإيميل، التي سوف نحتاجها عند التواصل مع الزبائن.

[صورة مرفقة: feJEz.jpg]

وجدول آخر اسمه UserInfo:
* لتخزين بيانات المستخدمين.

[صورة مرفقة: 1MhFq.jpg]

وآخر اسمه Websites:
* مواقع مفيدة.

[صورة مرفقة: C5ss5.jpg]

وآخر اسمه Guestbook:
* سجل الزوار.

[صورة مرفقة: 0hqhp.jpg]

وآخر اسمه ContactUs:
* اتصل بنا.

[صورة مرفقة: w7Uxm.jpg]

وآخر اسمه Parts:
* أقسام الموقع، سواء الرئيسية أو الفرعية.

[صورة مرفقة: CDhCb.jpg]

وآخر اسمه Programs:
* برامج المستخدمين وبياناتها.

[صورة مرفقة: frErG.jpg]

وآخر اسمه Orders:
* طلبات الزبائن.

[صورة مرفقة: UJOxo.jpg]

والأخير اسمه Details:
* جدول فرعي تابع لطلبات الزبائن، قد يشتري الزبون أكثر من برنامج دفعة واحدة.

[صورة مرفقة: imiKJ.jpg]

الآن ننتقل للعلاقات:

[صورة مرفقة: mzKzs.jpg]

قم بإضافة الجداول التالية:

[صورة مرفقة: n7Y0W.jpg]

اضغط على حقل ID من جدول Part واسحبه على حقل PID من جدول Programs.
اضغط موافق بعد التأكد من الاعمدة الظاهرة في النموذج، ثم عدل الخيارات كما يلي:

[صورة مرفقة: xTeMF.jpg]

ثم حقل ID من جدول Orders اسحبه على حقل OID من جدول Details، واصنع كما سبق.

[صورة مرفقة: cbrA6.jpg]

نذهب لجدول Titles ونضغط بزر الفأرة الأيمن، ثم نختار:

[صورة مرفقة: WpfUb.jpg]

ثم ندخل بيانات افتراضية عليه:

HeaderText: برامج منتدى فجوال بيسك لكل العرب.
FooterText: جميع الحقوق محفوظة © 2013.
الرد }}}
تم الشكر بواسطة:
#2
شراح رائع انا متابعك يا اخ الغالي ...
الرد }}}
تم الشكر بواسطة:
#3
احمد ربى ان لى صديق اسمه الاستاذ ربيع (DreamsDotNet)
لما به من صفات تجعل الانسان يحترمه ويحبه.
ذادك الله من علمه وبارك فيك اخى ربيع
والى الامام دائماّ
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم

جزاك الله كل خير اخي ربيع بارك الله فيك

موفق ان شاءالله بانتظار تكملة الموضوع
الرد }}}
تم الشكر بواسطة:
#5
من الـ Solution Explorer، نختار المشروع ونضيف اليه مجلدات جديدة:

[صورة مرفقة: l1O6s.jpg]

مجلد باسم: Admin
وآخر باسم: Programmers
وآخر باسم: Programs

نعود لتحديد المشروع، ثم نختار:

[صورة مرفقة: jGsjf.jpg]

* الخطوات التالية، للحماية وإضافة الصلاحيات على الموقع.

[صورة مرفقة: tIpH7.jpg]

[صورة مرفقة: eXmUr.jpg]

[صورة مرفقة: q8Li2.jpg]

[صورة مرفقة: UgK6Z.jpg]

[صورة مرفقة: 8kX9c.jpg]

[صورة مرفقة: ME2kA.jpg]

[صورة مرفقة: C4yFy.jpg]

[صورة مرفقة: ltmqg.jpg]

[صورة مرفقة: buBRn.jpg]

[صورة مرفقة: pmjIe.jpg]

[صورة مرفقة: nKC00.jpg]

قم بتحميل أدوات Ajax Control Toolkit، واضفهن لصندوق الادوات.

[صورة مرفقة: LSWM1.jpg]
الرد }}}
تم الشكر بواسطة:
#6
نذهب لصفحة Site.Master، داخل كود HTML الخاص بالصفحة نضع Label بدل العنوان الافتراضي:[HTML]<div class="title">
   <h1>
       <asp:Label ID="title" runat="server" Text="برامج منتدى فجوال بيسك لكل العرب"></asp:Label>
   </h1>
</div>
[/HTML]ونضع Label آخر في ذيل الصفحة:[HTML]<div class="footer">
   <asp:Label ID="footer" runat="server" Text="جميع الحقوق محفوظة © 2013"></asp:Label>
</div>
 [/HTML]
نرجع لعنوان الصفحة، من داخل التصميم وليس من كود الـ HTML، نضع بجانبه أداة LoginView، ثم نعدل فيها كما يلي:

[صورة مرفقة: OMHS1.jpg]

[صورة مرفقة: H3Ghz.jpg]

[صورة مرفقة: PwFts.jpg]

داخل الأداة - وبعد أن نختار منها العرض بصلاحيات Admin - نضع أداة Image (سوف ارفق الصورة المطلوبة إن شاء الله)، وأداة Panel، وداخل الـ Panel نضع جدول:

[صورة مرفقة: cS0ck.jpg]

[صورة مرفقة: UnnsB.jpg]

في الصف الثاني من الجدول وفي الحقل الأول نضع Label نصه: نص العنوان.
وفي الحقل الثاني نضع أداة TextBox خاصية الـ ID = tbox وبجانبها أداة RequiredFieldValidator:

[صورة مرفقة: 2iYBm.jpg]

خاصية الـ ErrorMessage = مطلوب.
وخاصية الـ ControlToValidate = tbox
في الحقل الثاني من الصف الأخير، نضع زرين، الأول نصه (حفظ) والثاني نصه (إلغاء الأمر).
نرجع للصف الأول وندمج الحقلين مع بعضهما، بعد تحديدهما:

[صورة مرفقة: Q8n1O.jpg]

ثم نضع بداخله أداة Panel، وداخل الـ Panel نضع Label نصه: عنوان الموقع.
لنضبط الشكل قليلا، من الـ Solution Explorer نذهب لمجلد الـ Styles ثم نضيف إليه عنصر جديد من نوع Style Sheet، ليكن اسمه Config. سوف ارفقه مع المشاركة إن شاء الله.
الآن نحدد الصورة التي وضعناها فيما سبق، ثم نذهب لصندوق الأدوات، ونضغط مرتين على أداة ModalPopupExtender التابعة لحزمة أدوات Ajax Control Toolkit:

[صورة مرفقة: wjZjE.jpg]

وبعد ذلك نتوجه لنافذة الخصائص، سنجد فيها خاصية جديدة مدرج تحتها مجموعة من الخصائص:

[صورة مرفقة: PwIx7.jpg]

قم بتغيير الخصائص كما الصورة.
نختار زر (حفظ) ونضغط عليه مرتين لنكتب الكود التالي:
في أعلى الكود وخارج الإجراءات نكتب:
:#C
كود :
[align=left][SIZE=4]private DB.ProgramsDB db = new DB.ProgramsDB();
[/SIZE][/align]

:VB
كود :
[align=left][SIZE=4]private DB.ProgramsDB db = new DB.ProgramsDB()[/SIZE][/align]

وفي حدث تحميل الصفحة Page_Load نكتب:
:#C
كود :
[align=left][SIZE=4]if (IsPostBack) return;

try
{
   var data = (from d in db.Titles select d).SingleOrDefault();
   title.Text = data.HeaderText;
   footer.Text = data.FooterText;

   ((TextBox)LoginView1.FindControl("tbox")).Text = title.Text;
}
catch { }
[/SIZE][/align]

:VB
كود :
[align=left][SIZE=4]If IsPostBack Then Exit Sub

Try
   Dim data = (From d In db.Titles Select d).SingleOrDefault()
   title.Text = data.HeaderText
   footer.Text = data.FooterText

   CType(LoginView1.FindControl("tbox"), TextBox).Text = title.Text
Catch
End Try[/SIZE][/align]

وفي حدث ضغط زر (حفظ):
:#C
كود :
[align=left][SIZE=4]try
{
   var data = (from d in db.Titles select d).SingleOrDefault();
   data.HeaderText = ((TextBox)LoginView1.FindControl("tbox")).Text;
   db.SubmitChanges();
   title.Text = data.HeaderText;
}
catch { }[/SIZE][/align]

:VB
كود :
[align=left][SIZE=4]Try
   Dim data = (From d In db.Titles Select d).SingleOrDefault()
   data.HeaderText = CType(LoginView1.FindControl("tbox"), TextBox).Text
   db.SubmitChanges()
   title.Text = data.HeaderText
Catch
End Try
[/SIZE][/align]

سوف نصنع مع ذيل الصفحة كذلك، وسأكتفي بشرح ما السابق، وأرفق الملفات....
* اعتمدت على مترجم لترجمة الكود من C# لـ VB.
* ضع الملفات والمجلدات المرفقة كما هي داخل المشروع، وقم باستبدال القديم.


الملفات المرفقة
.zip   VB4ArbPrograms.zip (الحجم : 17.37 ك ب / التحميلات : 68)
الرد }}}
تم الشكر بواسطة:
#7
لنضيف صفحة لاستعراض القسم باسم Part:

[صورة مرفقة: BJHxM.jpg]

[صورة مرفقة: XqlGv.jpg]

وصفحة أخرى لاستعراض البرنامج باسم Program، بنفس الطريقة.

عند طلب احدى هذه الصفحات لابد وأن نرسل لها رقم القسم أو البرنامج لاستعراضه، من خلال الـ QueryString، وسيكون العنوان كما يلي:

هناك خاصية في الـ asp.net اسمها urlrewrite، ماذا تعني هذه الخاصية؟ تعني أن يصبح الرابط السابق بهذا الشكل:

سوف نستخدم هذه الخاصية في تطبيقنا إن شاء الله، وذلك بالذهاب لملف Global.asax من نافذة Solution Explorer، ثم نضع الإجراء التالي بداخله:
:#C
كود :
[align=left][SIZE=4]public static void RegisterRoutes(RouteCollection routeCollection)
{
    routeCollection.MapPageRoute("Part", "Part/{Id}", "~/Part.aspx");
    routeCollection.MapPageRoute("Program", "Program/{Id}", "~/Program.aspx");
}
[/SIZE][/align]


:VB
كود :
[align=left][SIZE=4]Public Shared Sub RegisterRoutes(ByVal routeCollection As RouteCollection)
    routeCollection.MapPageRoute("Part", "Part/{Id}", "~/Part.aspx")
    routeCollection.MapPageRoute("Program", "Program/{Id}", "~/Program.aspx")
End Sub[/SIZE][/align]


وفي إجراء Application_Start نضع:
:#C
كود :
[align=left][SIZE=4]RegisterRoutes(RouteTable.Routes);[/SIZE][/align]


:VB
كود :
[align=left][SIZE=4]RegisterRoutes(RouteTable.Routes)[/SIZE][/align]

الرد }}}
تم الشكر بواسطة:
#8
سوف نخصص صفحة الخطأ 404 في تطبيقنا:
نضيف صفحة جديدة للمشروع اسمها 404.aspx ترث من الـ Site.Master.
ثم نكتب الكود التالي داخل ملف Web.config، بين:
[HTML]<system.web>
</system.web>
[/HTML]في أي مكان:[HTML]<customErrors>
<error statusCode="404" redirect="~/404.aspx"/>
</customErrors>
[/HTML]في صفحة الـ Default.aspx نضيف جدول من صف واحد وعمودين، في الحقل الأول نضع Label اسمه parts، وفي الحقل الثاني نضع Label اسمه newprog، نجعل النص فارغ في كلا الـ Label، ثم نذهب للكود لنكتب:
:#C
كود :
[align=left]private DB.ProgramsDB db = new DB.ProgramsDB();

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack) return;

    try
    {
        // الأقسام
        var partdata = from d in db.Parts
                       where d.MainPart == 0
                       select d;

        parts.Text += "<b style=\"font-size: 14pt;\">تصنيفات البرامج</b><br /><table class=\"pt\">";

        int i = 1;

        foreach (var d in partdata)
        {
            if (i == 1) { parts.Text += "<tr>"; ++i; }

            parts.Text += string.Format("<td class=\"ptd\"><a href=\"Part/{0}\"><img src=\"Images/part.png\" /><br />{1}</a><br />{2}</td>", d.ID, d.PartName, d.Description);

            if (i > 2) { parts.Text += "</tr>"; i = 1; }
        }

        if (!parts.Text.EndsWith("</tr>")) parts.Text += "</tr>";
        parts.Text += "</table>";
        // ------------------------------

        // آخر خمس برامج مضافة
        var progdata = (from d in db.Programs
                       select d).Take(5).OrderByDescending(id => id.ID);

        newprog.Text = "<b style=\"font-size: 14pt;\">البرامج المضافة حديثاً</b><br /><br />";

        foreach (var d in progdata)
            newprog.Text += string.Format("<a href=\"Program/{0}\">{1}</a><br />", d.ID, d.ProgName);
    }
    catch { }
}
[/align]

:VB
كود :
[align=left]Private db As New DB.ProgramsDB()

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    If IsPostBack Then Exit Sub

    Try
        ' الأقسام
        Dim partdata = From d In db.Parts
                       Where d.MainPart = 0
                       Select d

        parts.Text &= "<b style=""font-size: 14pt;"">تصنيفات البرامج</b><br /><table class=""pt"">"

        Dim i As Integer = 1

        For Each d In partdata
            If i = 1 Then
                parts.Text &= "<tr>"
                i += 1
            End If

            parts.Text += String.Format("<td class=""ptd""><a href=""Part/{0}""><img src=""Images/part.png"" /><br />{1}</a><br />{2}</td>", d.ID, d.PartName, d.Description)

            If i > 2 Then
                parts.Text &= "</tr>"
                i = 1
            End If
        Next d

        If Not parts.Text.EndsWith("</tr>") Then
            parts.Text &= "</tr>"
        End If
        parts.Text &= "</table>"
        ' ------------------------------

        ' آخر خمس برامج مضافة
        Dim progdata = (
            From d In db.Programs
            select d).Take(5).OrderByDescending(Function(id) id.ID)

        newprog.Text = "<b style=""font-size: 14pt;"">البرامج المضافة حديثاً</b><br /><br />"

        For Each d In progdata
            newprog.Text += String.Format("<a href=""Program/{0}"">{1}</a><br />", d.ID, d.ProgName)
        Next d
    Catch
    End Try
End Sub
[/align]

في صفحة الـ Part نضع Label فقط، خالي من النص واسمه: viewer، ثم نكتب الكود التالي داخل الصفحة:
:#C
كود :
[align=left]private DB.ProgramsDB db = new DB.ProgramsDB();

protected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack) return;

    try
    {
        // الأقسام الفرعية
        var subpart = from d in db.Parts
                      where d.MainPart == int.Parse(RouteData.Values["id"].ToString())
                      select d;

        if (subpart.Count() > 0)
        {
            viewer.Text = "<b style=\"font-size: 14pt;\">اقسام فرعية داخل هذا القسم</b><br /><table class=\"pt\">";
            int i = 1;

            foreach (var d in subpart)
            {
                if (i == 1) { viewer.Text += "<tr>"; ++i; }

                viewer.Text += string.Format("<td class=\"ptd\"><a href=\"../Part/{0}\"><img src=\"../Images/part.png\" /><br />{1}</a><br />{2}</td>", d.ID, d.PartName, d.Description);

                if (i > 2) { viewer.Text += "</tr>"; i = 1; }
            }

            if (!viewer.Text.EndsWith("</tr>")) viewer.Text += "</tr>";
            viewer.Text += "</table><br /><br />";
        }
        // ------------------------------

        // البرامج المدرجة في هذا القسم
        var prog = from d in db.Programs
                   where d.PID == int.Parse(RouteData.Values["id"].ToString())
                   select d;

        if (prog.Count() > 0)
        {
            viewer.Text += "<b style=\"font-size: 14pt;\">البرامج داخل هذا القسم</b><br /><table width=\"100%\" border=\"3\">";
            viewer.Text += "<tr><td align=\"center\"><b>اسم البرنامج</b><td align=\"center\"><b>اسم المبرمج</b></td></td>";

            foreach (var d in prog)
                viewer.Text += string.Format("<tr><td><a href=\"../Program/{0}\">{1}</a></td><td>{2}</td></tr>", d.ID, d.ProgName, d.PName);

            viewer.Text += "</table>";
        }
    }
    catch { }
}[/align]

:VB
كود :
[align=left]Private db As New DB.ProgramsDB()

Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)
    If IsPostBack Then Exit Sub

    Try
        ' الأقسام الفرعية
        Dim subpart = From d In db.Parts
                      Where d.MainPart = Integer.Parse(RouteData.Values("id").ToString())
                      Select d

        If subpart.Count() > 0 Then
            viewer.Text = "<b style=""font-size: 14pt;"">اقسام فرعية داخل هذا القسم</b><br /><table class=""pt"">"
            Dim i As Integer = 1

            For Each d In subpart
                If i = 1 Then
                    viewer.Text &= "<tr>"
                    i += 1
                End If

                viewer.Text += String.Format("<td class=""ptd""><a href=""../Part/{0}""><img src=""../Images/part.png"" /><br />{1}</a><br />{2}</td>", d.ID, d.PartName, d.Description)

                If i > 2 Then
                    viewer.Text &= "</tr>"
                    i = 1
                End If
            Next d

            If Not viewer.Text.EndsWith("</tr>") Then
                viewer.Text &= "</tr>"
            End If
            viewer.Text &= "</table><br /><br />"
        End If
        ' ------------------------------

        ' البرامج المدرجة في هذا القسم
        Dim prog = From d In db.Programs
                   Where d.PID = Integer.Parse(RouteData.Values("id").ToString())
                   Select d

        If prog.Count() > 0 Then
            viewer.Text &= "<b style=""font-size: 14pt;"">البرامج داخل هذا القسم</b><br /><table width=""100%"" border=""3"">"
            viewer.Text &= "<tr><td align=""center""><b>اسم البرنامج</b><td align=""center""><b>اسم المبرمج</b></td></td>"

            For Each d In prog
                viewer.Text += String.Format("<tr><td><a href=""../Program/{0}"">{1}</a></td><td>{2}</td></tr>", d.ID, d.ProgName, d.PName)
            Next d

            viewer.Text &= "</table>"
        End If
    Catch
    End Try
End Sub[/align]

في صفحة الـ Program:

[صورة مرفقة: mgVG5.jpg]

الكود الخاص بالصفحة:
خارج أي إجراء:
:#C
كود :
[align=left]private DB.ProgramsDB db = new DB.ProgramsDB();
[/align]

:VB
كود :
[align=left]private db As new DB.ProgramsDB()
[/align]


في حدث تحميل الصفحة:
:#C
كود :
[align=left]if (IsPostBack) return;

try
{
    var data = (from d in db.Programs
                where d.ID == int.Parse(RouteData.Values["id"].ToString())
                select d).SingleOrDefault();

    if (data == null) { Response.Redirect("~/404.aspx"); return; }

    pgname.Text = data.ProgName;
    about.Text = data.Description;
    pname.Text = data.PName;
    price.Text = data.Price.ToString();
}
catch { }[/align]

:VB
كود :
[align=left]If IsPostBack Then Exit Sub

Try
    Dim data = (From d In db.Programs
        Where d.ID = Integer.Parse(RouteData.Values("id").ToString())
        Select d).SingleOrDefault()

    If data Is Nothing Then
        Response.Redirect("~/404.aspx")
        Return
    End If

    pgname.Text = data.ProgName
    about.Text = data.Description
    pname.Text = data.PName
    price.Text = data.Price.ToString()
Catch
End Try[/align]

في حدث ضغط الـ LinkButton:
:#C
كود :
[align=left]Session[RouteData.Values["id"].ToString()] = 1;
[/align]

:VB
كود :
[align=left]Session(RouteData.Values("id").ToString()) = 1[/align]
الرد }}}
تم الشكر بواسطة:
#9
غفلت عن أمر مهم، والتمس عذرا منكم :o

اعتمدت في المشروع تقنية اللينك linq في التعامل مع قاعدة البيانات، نسيت ذكرها بعد أن أنشأنا قاعدة البيانات، فلنقم بذلك الآن:
نضيف عنصر جديد للمشروع من نوع LINQ to SQL Classes، اسمه ProgramsDB، ثم من Server Explorer نسحب جميع الجداول اليه:

[صورة مرفقة: PH7ID.jpg]

[صورة مرفقة: bJDEF.jpg]

نضغط في مكان فارغ من محتوى البيانات، ونختار خصائص Properties، ثم نغير الخصائص التالية:
Context Namespace = DB
Entity Namespace = DB
Name = ProgramsDB
الرد }}}
تم الشكر بواسطة:
#10
نضيف صفحة جديدة للمشروع اسمها Basket، سوف يكون فيها من الأدوات ما يلي:

[صورة مرفقة: 6jb5y.jpg]

نختار أداة GridView ونجعل اسمها: viewer، ثم نضيف إليها عمود لإزالة البرنامج من السلة:

[صورة مرفقة: K3yvc.jpg]

[صورة مرفقة: cR9Na.jpg]

في حدث تحميل الصفحة نكتب:
:#C
كود :
[align=left]try
{
    if (Session.Count == 0) { err.Text = "<br />لا يوجد برامج في سلة المشتريات"; Button1.Visible = false; return; }

    List<int> prog = new List<int>();
    foreach (var p in Session) prog.Add(Convert.ToInt32(p));

    DB.ProgramsDB db = new DB.ProgramsDB();

    var data = from d in db.Programs
               where prog.Contains(d.ID)
               select new { _ = d.ID, اسم_البرنامج = d.ProgName, السعر = d.Price };

    decimal am = 0;
    foreach (var d in data) am += d.السعر;

    Amount.Text = string.Format("المبلغ الإجمالي: {0} دولار.", am.ToString("00.00"));

    viewer.DataSource = data;
    viewer.DataBind();
}
catch { }
[/align]

:VB
كود :
[align=left]Try
    If Session.Count = 0 Then
        err.Text = "<br />لا يوجد برامج في سلة المشتريات"
        Button1.Visible = False
        Return
    End If

    Dim prog As New List(Of Integer)()
    For Each p In Session
        prog.Add(Convert.ToInt32(p))
    Next p

    dim db As new DB.ProgramsDB();

    Dim data = From d In db.Programs
               Where prog.Contains(d.ID)
               Select New With {Key ._ = d.ID, Key .اسم_البرنامج = d.ProgName, Key .السعر = d.Price}

    Dim am As Decimal = 0
    For Each d In data
        am += d.السعر
    Next d

    Amount.Text = String.Format("المبلغ الإجمالي: {0} دولار.", am.ToString("00.00"))

    viewer.DataSource = data
    viewer.DataBind()
Catch
End Try
[/align]

داخل حدث RowCommand التابع للأداة GridView والتي اسميناها viewer:

[صورة مرفقة: dV2Dd.jpg]

نكتب:
:#C
كود :
[align=left]if (e.CommandName == "remove")
{
    try
    {
        Session.Remove(viewer.Rows[Convert.ToInt32(e.CommandArgument.ToString())].Cells[1].Text);
        Page_Load(null, null);
    }
    catch { }
}
[/align]

:VB
كود :
[align=left]If e.CommandName = "remove" Then
    Try
        Session.Remove(viewer.Rows(Convert.ToInt32(e.CommandArgument.ToString())).Cells(1).Text)
        Page_Load(Nothing, Nothing)
    Catch
    End Try
End If[/align]
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  فيديو youtube يشرح كيفية عمل موقع على شبكة محلية مبرمج مصرى 1 3,112 19-03-23, 01:41 PM
آخر رد: flawer69
  [درس فيديو] دورة انشاء موقع فيجوال دوت نتPart One: Creating a vb.net & ASPX.NET & SQL alims 2 2,552 09-01-22, 03:32 PM
آخر رد: alims
  المنتدى ليس نشيطا وفعالا في مشاركاته ما السبب؟ nowiglah 2 5,270 28-09-20, 04:15 AM
آخر رد: سعود
Video [VB.NET] فكرة بسيطة لإنشاء موقع شبيه بموقع facebook بلغة ASp.net ggtt17121985 1 3,536 13-08-18, 01:52 PM
آخر رد: sendbad100
Big Grin [مقال] تصميم موقع بيسط فى اقل من ساعة alims 5 9,093 11-08-14, 06:33 AM
آخر رد: العزابي
  بالراحة خالص(خطوة بخطوة شرح كافة صفحات المنتدى) سعود 12 7,612 22-08-13, 10:35 PM
آخر رد: سعود
  إنشاء مكتبة إلكترونية لبيع الكتب ربيع 18 10,384 16-04-13, 09:24 PM
آخر رد: م احمد فهد
  22 طريقة لتحسين أداء وتسريع موقع مبرمج ب asp.net RaggiTech 1 2,953 29-09-12, 12:40 PM
آخر رد: RaggiTech
  دورة تصميم موقع اخباري بasp.net الجزء الثاني ......... محمد الساعدي 4 5,272 24-09-12, 11:46 PM
آخر رد: محمد الساعدي
  اضخم موقع لتحميل القوالب المجانية مصطفى ايتي 0 2,883 21-09-12, 08:43 PM
آخر رد: مصطفى ايتي

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم