jQuery Ajax ASP.NET MVC GET/Post Part 1 عربي

by

في هذه المقالة سوف نتحدث عن JQuery  ومميزاتها في ASP.NET MVC  .

من اهم المميزا تالرائعه في JQuery Ajax  هي عند عمل تحميل (GET,POST ) للبيانات من السيرفر , لا تحتاج لعمل تحديث لكامل الصفحة , فقط الجزء المستخدم للكود (على سبيل المثال DIV  معينه ) .

GET

تستخدم GET  عند الحاجة لجلب بيانات من السيرفر على سبيل المثال تحميل بيانات مستخدم من قاعدة البيانات .

الشكل العام ل GET  :

.get( url [, data ] [, success(data, textStatus, jqXHR) ] [, dataType ] ).done/.fail

لنقوم بعمل مثال يوضح كيف يمكننا الاستفادة من GET  في MVC App  .

في الكود التالي شوف يتم ارجاع الوقت من التابع GetTime  .

public string GetTime()
{
    return DateTime.Today.ToString();
}

 

لنقم باضافة السكريبت التالي في صفحة الويب .

 

<p id="DisplayHere">
</p>

 

<script type="text/jscript">
    var url = "GetTime";
    $.get(url, null, function (data) {
        $("#DisplayHere").html(data);
    });
</script>

 

 

 الناتج كما في الصوره السابقة . 

لو اردنا ان يكون التنفيذ عند النقر على Button  .

يتم تعديل الكود السابق كما التالي :

<script type="text/jscript">
    $('#btnID').click(function () {
        var url = "GetTime";
        $.get(url, null, function (data) {
            $("#Displayhere").html(data);
        });
    })
</script>

لنتعمق اكثر في استخدام Get  , ولنقوم بارسال بيانات من صفحة الويب إلى كود ال C#  ويتم ارجاعه ليظهر في اداة اخرى .

الكود التالي يقوم بانشاء صندوق نص باسم txtName  (الاسم هذا مهم جدا لانه وقف التنقيذ Razor  سيحول الاسم اي ID ) .

input  هي عباره عن button  من نوع Submit  . 

<p>
    Enter you name @Html.TextBox("TXTName")
    <input type="submit" id="SubmitName" value="Submit"/>
</p>
 
<script type="text/jscript">
    $('#SubmitName').click(function () {
        var url = "MsgFromRazro";
        var name = $('#TXTName').val();
        $.get(url, { input: name }, function (data) {
            $("#Displayhere").html(data);
        });
    })
</script>

كود ال C# , تابع يستقبل متحول من نوع string  يتاكد من انه غير فارع او NULL  .

يتم ارجاع نص  Please Welcome Name 

public string MsgFromRazro(string input)
{
    if (!String.IsNullOrEmpty(input))
        return "Please welcome " + input + ".";
    else
        return "Please enter your name.";
}

لنتعمق اكثر في JQuery AJAX   . 

هذه المره مع DataBase  , جلب البيانات من قاعدة بياانات واظهارها في صفحة الويب .

اضافة الكود التالي في C#  .

يتم ارسال اسم البلد  من صفحة الويب , والتابع بدوه يقوم بجلبه كل العملاء من DataBase  وارساله على شكل JSON  .

يتم ارجاع البيانات على انها JSON  .

public JsonResult Customer(string Id)
{
    NorthwindEntities db = new NorthwindEntities();
    var result = from r in db.Customers
                    where r.Country == Id
                    select new { r.ContactName, r.Address };
    return Json(result, JsonRequestBehavior.AllowGet);
}

 

كود صفحة الويب , 

 

<p id="DisplayHere">
</p>
 
<p>
    Enter country name @Html.TextBox("Country")
    <input type="submit" id="Get" value="Submit"/>
</p>
 
<script type="text/jscript">
    $('#GetCustomers').click(function () {
        $.getJSON('Customer' + $('#Country').val(), function (data) {
 
            var items = '<table><tr><th>Name</th><th>Address</th></tr>';
            $.each(data, function (i, country) {
                items += "<tr><td>" + country.ContactName + "</td><td>" + country.Address + "</td></tr>";
            });
            items += "</table>";
 
            $('#DisplayHere').html(items);
        });
    })
</script>
 

 

باختصار هذه  احدا ميزات Jquery AJAX wtih ASP.NET MVC 

ساحاول تسجيل فيديو ونشره على Youtube  , ليكون الامر ممتع اكثر وسهل بنفس الوقت .

 

.NET Framework and .NET Core الفرق بين

by

 اليوم سوف نتكلم على الفرق بين

 .NET Framework and .NET Core 

ماذا يجب ان تختار عندما تريد تصميم  برنامجك القادم  ؟ 

.NET Framework and .NET Core ?

في هذه المقالة سوف نقارن بعض الفروقات بين هذه المنصات .

 

.NET Ecosystem 

لنقم بمراجعة هيكلية .NET Ecosytem  .

كما تشاهد في الشكل السابق .NET Ecosystm  يملك ثلاثة مكونات رئيسة , وهي :

 .NET Framework, .NET Core, and Xamarin. 

Xamarin 

عندما تريد بناء برنامج خاص بالموبايل (iOS, Android, and Windows Mobile).

بستخدام لغة C#  ,   طبعا Xamrin  هو خيارك .

The .NET Framework 

تدعم Windows and Web applications و UWP   من اجل بناء تطبيقات على نظام ويندوز , بالاضافة إلى ASP.NET MVC  التى تمكننا من انشاء موقع الويب . على منصة >NET Framework  .

 

.NET Core

منصة مفتوحة المصدر و ايضا يمكنها العمل على اكثر من نظام تشغيل Windows, Mac, and Linux.

يمكنك بناء تطبيقات لتعمل على الانظمة السابقة , وايضا تدعم UWP  و ASP.NET Core  .فقط . 

UWP  تستخدم لبناء تطبيقات على Windows 10  . وتطبيقات  Wndows Mobile  .

 

كانت نظره سريعه على الفروقات . 

لكن ماذا نختار ؟

لكل منصه مزايها ,

.NET Framework

ستكون خيار جيد , لانك لا تريد تعلم تقنية جيده , بيئة عمل مستقره , ويمكنك انشاء تطبيقات Windows Forms or WPF

.NET Core

عندما تريد ان يكون تطبيقك يعمل على اكثر من نظام تشغيل , وتعشق منصات المصادر المفتوحة ... والطريق طويله امامك .

 

 

 

 

 

 

Methods In C#.NET

by


Methods are very useful in C#. Since any code is to be used at many places, we can define that in a method and can use the code only by calling that method .

Method signature

A method signature contains various things, which are stated below.

[Attributes]    (e.g.: [WebMethod],[HttpPost],[HttpGet])Public void TestMethod(string parameters)


   Explanation

       In the method shown above, Public signature defines the Access modifier.

       Void defines the no return type (in case of void, No return type is there and In case of string, its string) of the method.

       If the return type is defined as string, then the method must return some string as its output. If we do not want a method to return anything, we can define it as void.

TestMethod

It defines the name of that method.

The string parameters defines the parameter that this method will expect during a call. 

 

 class Program      {  public static void Main(string[] args)          {    InstanceMethodClass  p = new InstanceMethodClass();              p.InstanceMethod();  }    }    public class InstanceMethodClass      {  //This is an Instance method.  public void InstanceMethod()          {              Console.WriteLine("This is a test instance method.");          }  } 

Static Method

We do not need to create the object of the class in which method is defined. We can invoke the method by using it directly.

class Program      {          public static void Main(string[] args)          {              ClassForStaticMethod.StaticMethod();          }  }     public class ClassForStaticMethod      {             public static void StaticMethod()          {               Console.WriteLine("This is a test static method.");          }      }  

Let's take an example of method with the parameters.

In the example shown above, we need to pass a string argument because "PrintParameter" method expects the string as parameter.

Let's take an example of return type method.

class Program      {          public static void Main(string[] args)          {  InstanceMethodClass i=new InstanceMethodClass();  i.PrintParameter("Argument passed.");  }  }   public class InstanceMethodClass{      public void PrintParameter(string parameter)          {              Console.WriteLine(parameter);          }  }  

In the example shown above, we need to pass a string argument because "PrintParameter" method expects the string as parameter.

Let's take an example of return type method.

class Program      {          public static void Main(string[] args)          {  InstanceMethodClass i=InstanceMethodClass();   int sum=i.ReturnSum(2,6);              Console.WriteLine(sum);    }  }     public class InstanceMethodClass      {  public  int ReturnSum(int a,int b)          {              int sum = a + b;              return sum;          }  }  

In the example shown above, we used int as return type instead of void. Thus, the method must return an integer. When we invoke this method, we can get the returned result in an Int variable.

In the two examples stated above, it will remain the same for static method but the only difference is the method needs to be defined as static and invoked without using a class instance. 

Thank you.

Source c-sharpcorner , MSDN