یادداشت های روزانه یک برنامه نویس

برنامه نویسی وب و اندروید ، برنامه نویسی با C# & JAVA، کار با پایگاه داده SQL Server

یادداشت های روزانه یک برنامه نویس

برنامه نویسی وب و اندروید ، برنامه نویسی با C# & JAVA، کار با پایگاه داده SQL Server

استخراج داده با Ajax از partialview و قرار دادن آن در المان html

استخراج داده با Ajax از partialview و قرار دادن آن در المان html


در این مثال وقتی فرم RecordP مخفی می شود تابع Ajax اجرا شده و مقادیر را از جدول خوانده و آن را مجددا به روز می کند.



<script type="text/javascript">

 

    $(document).ready(function () {

        $("#RecordP").on("hide.bs.modal", function () {               

                $.ajax({

                    type: "GET",

                    url: '/FBProject/GetAllProjectPartial',

                    //data: formData,

                    contentType: false,

                    processData: false,

                    dataType: "html",

                    cache: false,

                    success: successFunc,

                    error: errorFunc,

                    complete: completeFunc

                });

 

                function successFunc(data)

                {

                  $('#mainpage').html(data);

                }

                function errorFunc() { alert("خطا در آپلود فایل"); }

                function completeFunc() { $('#loading').remove(); }

        });

 

    });

</script>


باند کردن مدل به DropDownList درMVC


باند کردن مدل به DropDownList   درMVC


 

کدهای کنترلر برای فرستادن داده های مدل



        public ActionResult Create()

        {

            ViewBag.FBAbnieVahedID = new SelectList(db.FBAbnieVahed, "FBAbnieVahedID", "FBAbnieVahedName");

            return View();

        }

 

کدهای view برای نمایش داده ها  :


 

      <div class="form-group">

            @Html.LabelFor(model => model.FBAbnieVahedID, "واحد", htmlAttributes: new { @class = "control-label col-md-2" })

            <div class="col-md-10">

                @Html.DropDownList("FBAbnieVahedID", null, htmlAttributes: new { @class = "form-control" })

                @Html.ValidationMessageFor(model => model.FBAbnieVahedID, "", new { @class = "text-danger" })

            </div>

        </div>

 

پارمتر اول Html.DropDownList که به صورت String می باشد مشخص کننده نام پارامتر ViewBag ی می باشد که داده ها مدل توسط آن ارسال شده است.

 

ست کردن مقدار null به صورت پیش فرض برای DropDownList


 

@Html.DropDownList("MachBrandID", (SelectList)ViewBag.MyList, "انتخاب کنید", htmlAttributes: new { @class = "form-control" })


ست کردن مقدار ارسالی از مدل برای DropDownList برای حالت ویرایش


ست کردن آی دی برای کنترل



  @Html.DropDownList("MachBrandID", null, htmlAttributes: new { @class = "form-control", id = "mbrand" })

 


مقدار دهی کنترل از طریق آی دی :


    $("document").ready(function () {

        $('#mbrand').val('@Model.MachBrandID');

    });

اضافه کردن کد جاوا اسکریپت از کنترلر به view

اضافه کردن کد جاوا اسکریپت از کنترلر به view


فرض کنیدمیخواید  کدهای جاوا را توسط سی شارپ به صورت text تولید کرده و در صفحه خود قرار دهید برا ی اینکار ابتدا یک کنترلر ساخته و کدهای جاوا را توسط آن تولید کرده و ماننده نمونه زیر بر میگردانید 


کد اکشن از کنترلر


        public ActionResult addjs()

        {

            String ss = "$('#opener').click(function () {$('#dialog').dialog('open');});";

 

            return Content(ss);

        }


سپس این کدها را می توانید به دو صورت زیر در صفحه خوداجرا کنید :


 

<script type="text/javascript"> @{ Html.RenderAction("addjs", "MachGroup"); } </script>

 

<script type="text/javascript" src="~/MachGroup/addjs"></script>



پر کردن مدل با stored procedure با EF Entity Framework

پر کردن مدل با stored procedure  با  EF  Entity Framework


کد کامل تابع اجرای این پروسه به صورت زیر است:


public static List<T> GetDataByParametrSP<T>(string SPName, DbContext context ,SqlParameter[] sqlParameter =null)

        {

            if (SPName == null || context == null)

            {

                //throw (new NullValueSend("Tabale name or Contex is null"));

                throw (new Exception("SPName name or Contex is null"));

            }

 

            List<T> result = new List<T>();

            string sqlp = " ";

            if (sqlParameter!=null)

            {

            foreach (var item in sqlParameter)

            {

                sqlp += " " + item.ParameterName;

            }

            result = context.Database.SqlQuery<T>(SPName+ sqlp, sqlParameter).ToList();

            return result;

            }

 

            result = context.Database.SqlQuery<T>(SPName).ToList();

            return result;

        }

پارامترهای این تابع به ترتیب 

1- نام  stored procedure موجود در دیتابیس

2- شی Context تعریف شده در برنامه برای ارتباط با دیتابیس

3- پارامترهای stored procedure به صورت آرایه این بخش میتواند خالی یا صورت Null ارسال شود یعنی هیچ پارامتری وجود نداشته باشد 

فقط به این نکته توجه کنید که تابع به صورت جنریک می باشد و قبل از استفاده باید نوع مدل را به صورت جنریک برای آن مشخص کنید 

خروجی این تابع یک لیست از مدل ارسال شده می باشد که توسط stored procedure پر شده است.

مثال 

  List<citylist =GetDataByParametrSP<city>("GetCity", db);


در مثال بالا  یک  stored procedure در دیتابیس وجود دارد که لیست شهرها را بر می گرداند.

در این مثال مدل City به صورت جنریک به تابع پاس داده شده  و خروجی تابع لیست از مدل شهر ها خواهد بود 

تعریف GUID برای یک فیلد

تعریف GUID  برای یک فیلد

 

public Guid IDUnic { get; set; }


اگه به صورت بالا تعریف شود مقدار Guid به صورت خودکار توسط SQL Server داده می شود.

و اگر به صورت زیر تعریف شود مقدار Guid توسط C# معین می شود.


     public Ostan()

        {

            IDUnic = new Guid();

        }

        [Key]

        public Guid IDUnic { get; set; }


از دستور زیر برای مشخص کردن وضعیت یک رکورد در دیتابیس استفاده می شود:

حالتهای مختلف : حذف شده اضافه شده ذخیره نشده تغییر داده شده بدون تغییر 


db.Entry(personel).State.ToString();

فعال کردن Web API هنگام استفاده اجرای برنامه از طریق Startup


فعال کردن Web API هنگام استفاده اجرای برنامه از طریق Startup


برای این کار ابتدا باید پکیج زیر را نصب کنیم


Install-Package Microsoft.AspNet.WebApi.OwinSelfHost


سپس کد های زیر را به متد Configuration کلاس Startup اضافه کنیم


[assembly: OwinStartup(typeof(IdentitySample.Startup))]

 

namespace IdentitySample

{

    public partial class Startup

    {

        public void Configuration(IAppBuilder app)

        {

 

            HttpConfiguration config = new HttpConfiguration();

            WebApiConfig.Register(config);

 

            app.UseWebApi(config);

            ConfigureAuth(app);

        }

    }

} 

تنظیمWEB API برای ایجاد خروجی به صورت JSON


تنظیمWEB API برای ایجاد خروجی به صورت JSON


روش اول 

برای این کار کدهای زیر را به قسمت Global.asax اضافه نمایید:


GlobalConfiguration.Configuration.Formatters.

            JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;

            GlobalConfiguration.Configuration.Formatters

            .Remove(GlobalConfiguration.Configuration.Formatters.XmlFormatter);



روش دوم :

یا اضافه کردن کد زیر به App_Start / WebApiConfig.cs

 

config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html"));

روش نصب پکیج ها ویژال استودیو به صورت آفلاین


روش نصب پکیج ها  ویژال استودیو به صورت آفلاین


برای این کار از دستور زیر در خط دستوری نیوگیت استفاده کنید


Install-Package C:\Path\To\Some\File.nupkg

تنظیمات برای پست داده ها فارسی


تنظیمات برای پست داده ها فارسی 


در هنکام کار با برنامه .NET هر زمان که نیاز به پست داده های JSON به صورت فارسی داشید برای جلوگیری از بروز خطا شی WebClient را به صورت زیر تنظیم کنید تا داده ها به صورت صحیح پست شوند.

objWebClient = new WebClient();

objWebClient.Headers[HttpRequestHeader.ContentType] = "application/json ; charset=utf-8";

objWebClient.Encoding = UTF8Encoding.UTF8;