الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو الخطأ فى هذا الكود "ساعدوني"

بدأه creative mind في 25 فبراير 2010 · 10 رد · 780 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

ارجو مساعدتى فى حل المشكله فى الكود التالى

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
using MvcApplication1.Models;

namespace MvcApplication1.Controllers
{
    public class AdminController : Controller
    {


        CompanyDBEntities db;

        public AdminController()
        {
            db = new CompanyDBEntities();
        }

        //
        // GET: /Admin/

        public ActionResult Index()
        {
            ViewData.Model = db.Employees.ToList();
            return View();
        }

        //
        // GET: /Admin/Delete/5
        public ActionResult Delete(int id)
        {
             var empToDelete = (from em in db.Employees
                                   where em.EmpRef == id
                                   select em).FirstOrDefault();

            return View(empToDelete);

        }

        [AcceptVerbs(HttpVerbs.Post)]
        public ActionResult Delete(Employees empToDelete)
        {
            try
            {
            var originalEmployee = (from em in db.Employees
                                        where em.EmpRef == empToDelete.EmpRef
                                       select em).FirstOrDefault();

                db.DeleteObject(originalEmployee);
                db.SaveChanges();
                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
    }
}

الفيو للحذف كالتالى

تم تعديل هذه المشاركة بواسطة creative mind في 25 فبراير 2010 في 19:12

#2

أنا لا أرى خطأ في الكود ... ولكن ممكن نص رسالة الخطأ؟

أظن ممكن الخطأ يكون داخل View الخاصة بـ ActionsResult Delete ... لأن ممكن FirstOrDefault ترجع Object خالي

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#3
moh_kin كتب:

أنا لا أرى خطأ في الكود ... ولكن ممكن نص رسالة الخطأ؟

أظن ممكن الخطأ يكون داخل View الخاصة بـ ActionsResult Delete ... لأن ممكن FirstOrDefault ترجع Object خالي

اسفه اثناء تعديلي حذفت باقى الموضوع

ده هو فيو الحذف

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.Employees>" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Add</title>
</head>
<body>

    <h2>Delete</h2>

    <p>
    Are you sure that you want to delete the entry for
    <%= Model.FirstName %> <%= Model.LastName %>
    </p>

    <% using (Html.BeginForm(new { Id = Model.EmpRef }))
       { %>
       <p> 
            <input type="submit" value="Delete" />
        </p>
    <% } %>

    <div>
        <%=Html.ActionLink("Back to List", "Index") %>
    </div>


</body>
</html>

الرسالة مضمونها التالى

the problem is that it gives me error at the line

<%= Model.FirstName %> <%= Model.LastName %>

it means that the model value is null and it musn't be null

when i deleted the (try) in the controller i found that the problem was with the value of (originalEmployee) variable its set to null "As the compiler say"

#4

هو فعلا بيبعت ال object خالى ولا اعرف لماذا?

الرسالة التى تظهر كالتالى

System.NullReferenceException was unhandled by user code

Message="Object reference not set to an instance of an object."

Source="App_Web_oh082xan"

StackTrace:

at ASP.views_admin_delete_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in c:\Documents and Settings\Administrator.CYRIX\My Documents\Visual Studio 2008\Projects\MvcApplication1\MvcApplication1\Views\Admin\Delete.aspx:line 15

at System.Web.UI.Control.RenderChildrenInternal(HtmlTextWriter writer, ICollection children)

at System.Web.UI.Control.RenderChildren(HtmlTextWriter writer)

at System.Web.UI.Page.Render(HtmlTextWriter writer)

at System.Web.Mvc.ViewPage.Render(HtmlTextWriter writer)

at System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter)

at System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter)

at System.Web.UI.Control.RenderControl(HtmlTextWriter writer)

at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)

InnerException:

وهذه صورة لها

744898882.jpg

ياريت تساعدونى وجزاكم الله كل خير

#5

الأخت العزيزة / creative mind

في الصفحة التي تحتوي التالي :

<%@ Page Language="C#" Inherits="System.Web.Mvc.ViewPage<MvcApplication1.Models.Employees>" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>Add</title>
</head>
<body>

    <h2>Delete</h2>

    <p>
    Are you sure that you want to delete the entry for
    <%= Model.FirstName %> <%= Model.LastName %>
    </p>

    <% using (Html.BeginForm(new { Id = Model.EmpRef }))
       { %>
       <p> 
            <input type="submit" value="Delete" />
        </p>
    <% } %>

    <div>
        <%=Html.ActionLink("Back to List", "Index") %>
    </div>


</body>
</html>

تحديدا في السطر

<%= Model.FirstName %> <%= Model.LastName %>

كيف تم إنشاء الـ Model Instance ؟ ممكن ترفقي الكود كاملا ؟

أتمنى لك التوفيق والنجاح

#6

أختي الكريمة ... استبدلي FirstOrDefaultبـ First فقط ... واعملي Debug على الكود وشوفي هل يصل الباراميتير id للميثود وللا لأ

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#7
moh_kin كتب:

أختي الكريمة ... استبدلي FirstOrDefaultبـ First فقط ... واعملي Debug على الكود وشوفي هل يصل الباراميتير id للميثود وللا لأ

شكرا لمساعدتك اخى ولكنى طبقت ما قلت لى ويعطيني نفس الخطأ

وبالنسبة لل debug لا اعرف كيف افعل ذلك انا مبتدئة وهذا اول خطواتى فى تعلم ال asp.net mvc

هذه صور لل run ازاى بيقول ان model يساوي null مع انه عارض فى ال run اسم الموظف الملوب حذفه عن طريقه؟؟

825178822.jpg

عند الضغط على حذف يعطي التالى

732304547.jpg

طب ازاى بقا قيمة الموديل بترجع null اذا كان لسه عارض منه اسم الموظف الى هحذفه؟؟؟

#8

طيب ممكن ترفقي الكود هنا وأحاول أشوفه وأعدله وارفعه لك تاني إن شاء الله ...

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#9

السلام عليكم ورحمة الله وبركاتهده هو الكود وبعتذر اذا كنت اخدت من وقتكم كتير

تم تعديل هذه المشاركة بواسطة creative mind في 1 مارس 2010 في 14:41

#10

تم تصحيح الخطأ .... يمكنك مقارنة الكود المرفق هنا مع الكود الخاص بك لتعرفي بنفسك أي الخطأ ...

وكتلميح راجعي السطر التالي مع الكود المرفق

[AcceptVerbs(HttpVerbs.Post)]
 public ActionResult Delete(Employees empToDelete)

أمنياتي بالتوفيق

ملاحظة أخيرة: لم تذكري هنا أنك تعملين على MVC 2.0 ... وللعلم هو ليس في الإصدارة الأخيرة له بعد ... وكنصيحة وخصوصاً أنك مبتدئة ... حاولي دائماً الاعتماد على التكنولوجيات التي في مرحلتها الأخيرة ... حالياً MVC 1.0 ... لأن تلك التي لم يتم إصدار نسخة أخيرة لها قد تحوي بعض Bugs والتي أنتي في غنى عنها ...

MvcApplication1.rar

1

ASP.NET Team Leader

moh_kin_mah@hotmail.com

--------------------------------

لو أعجبك أي من مشاركاتي ... برجاء قم بتقييم المشاركة عبر الأزرار الموجودة أسفل يسار كل مشاركة

#11

السلام عليكم ورحمة الله وبركاته

شكرا جزيلا على المساعده :)

%D8%AC%D8%B2%D8%A7%D9%83-%D8%A7%D9%84%D9%84%D9%87-%D9%8A%D8%A7%D8%A7%D8%AE%D9%8A.gif

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…