بایگانی نویسنده: محمد آذرنیوا

دانلود کتاب ۴۵ نکته برای افزایش کارایی دیتابیس ویژه برنامه نویسان

به عنوان یک برنامه نویس ممکن است نیاز به کوئری نویسی در پایگاه داده داشته باشید  ویا جدول  و ایندکس ایجاد کنید و همچنین تنظیمات پایگاه داده را انجام دهید . در صورتیکه این کار ها را انجام می دهید  نکاتی که در این آموزش دیتابیس PDF عنوان شده است می تواند زمانی که صرف می کنید کمتر کند و همچنین بر کارایی دیتابیس تاثیر مثبت داشته باشد  . 

آموزش دیتابیس pdf

توضیحات آموزش دیتابیس PDF

نویسنده : PHIL FACTOR

موضوع : دیتابیس

تعداد صفحات : ۲۱

فرمت : کتاب PDF

زبان : انگلیسی

دانلود PDF

 


دوره آموزشی Sql Server

پیاده سازی CRUD در PHP (قسمت ۱)

پیاده سازی CRUD در PHP قسمت ۱  ( نمایش اطلاعات به صورت جدول در PHP )

سایر پست های مربوط به این آموزش :    

یکی از کارهای متداول برنامه نویسان وب ایجاد Grid برای پیاده سازی عملیات CRUD است    ( CRUD مخفف Delete , Update , Read ,Create ) است. این فرآیند در سیستم های مدیریت محتوا ، سیستم هایی که در آن فهرستی از داده ها مدیریت می شود و یا نرم افزار های حسابداری کاربرد دارد.در صورتیکه شما تازه شروع به برنامه نویسی وب کرده اید در آینده به احتمال زیاد به این نیاز پیدا خواهید کرد.

grid CRUD  این امکان را به کاربر می دهد که داده ها را ایجاد(Create) ،حذف (Delete) ، ویرایش (Update) ویا بخواند(Read). به طور معمول ما داده ها را در پایگاه داده MySQL ذخیره می کنیم . PHP یک زبان سمت سروری است که این امکان را به کاربران سایت می دهد که جدول های پایگاه داده MySQL را با استفاده از عملیات CRUD  تغییر دهند.

در این سری آموزشی به مراحل ساختن یک گرید CRUD در PHP خواهیم پرداخت  و نشان می دهیم که چگونه PHP که یک زبان سمت سروری است با پایگاه داده MySQL  ارتباط برقرار می کند و داده ها را در قالب HTML برای کاربران سایت ارسال می کند.

۱٫ایجاد پایگاه داده نمونه 

در این آموزش ما با یک جدول پایگاه داده که دستورات sql آن در پایین قرار دارد  کار خواهیم . بعد از آموزش باید با توجه به نیاز جدول های پایگاه داده خود را طراحی کنید.

جدول زیر را به پایگا ه داده خود ایجاد کنید .

CREATE TABLE `customers` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 100 ) NOT NULL ,
`email` VARCHAR( 100 ) NOT NULL ,
`mobile` VARCHAR( 100 ) NOT NULL
) ENGINE = INNODB;

همانطور که می بینید این یک جدول ساده برای نگهداری اطلاعات مشتریان (نام ، نام خانوادگی و..)است. و دارای یک کلید اصلی است که به صورت auto incremental تعریف شده.

۲٫ ارتباط با پایگاه داده  برای نمایش اطلاعات به صورت جدول در php

یک فایل PHP با نام database.php ایجاد کنید و یک کلاس PHP با نام ِDatabase  در فایل تعریف کنید. در این برنامه کلاس Database وظیفه ارتباط و قطع ارتباط با پایگاه داده را برعهده دارد.

<?php
class Database 
{
	private static $dbName = 'crud_tutorial' ; 
	private static $dbHost = 'localhost' ;
	private static $dbUsername = 'root';
	private static $dbUserPassword = 'root';
	
	private static $cont  = null;
	
	public function __construct() {
		exit('Init function is not allowed');
	}
	
	public static function connect()
	{
	   // One connection through whole application
       if ( null == self::$cont )
       {      
        try 
        {
          self::$cont =  new PDO( "mysql:host=".self::$dbHost.";"."dbname=".self::$dbName, self::$dbUsername, self::$dbUserPassword);  
        }
        catch(PDOException $e) 
        {
          die($e->getMessage());  
        }
       } 
       return self::$cont;
	}
	
	public static function disconnect()
	{
		self::$cont = null;
	}
}
?>

همانطور که می بینید از PDO برای دسترسی به دیتابیس استفاده می کنیم .  استفاده از PDO مزایای زیادی  دارد که مهترین آن روشی یکسان برای دسترسی به چند دیتابیس فراهم می کند .

برای استفاده از این کلاس شما نیاز دارید این مقادیر را به درستی وارد کنید $dbName, $dbHost, $dbUsername, $dbUserPassword.
  • $dbName : نام دیتابیسی که جدول customers در آن قرار دارد.
  • $dbHost نام  هاست که معمولا localhost است
  • $dbUsername نام کاربری برای ارتباط به دتابیس
  • $dbUserPassword کلمه عبور کاربر برای اتصال به پایگاه داده.
خوب با هم نگاهی به توابع این کلاس می کنیم:
  • __construct(): سازنده کلاس Database است. از انجایی که کلاس به صورت استاتیک تعریف شده است مقدار دهی اولیه به کلاس مجاز نیست و برای جلوگیری کردن از استفاده نادرست از کلاس از تابع die  برای دادن پیغام به کاربر استفاده می کنیم.
  • connect:  تابع اصلی کلاس است و از الگوی singleton برای اطمینان از اینکه تنها یک PDO connection در کل برنامه وجود دارد استفاده می کند. به دلیل اینکه این متد استاتیک تعریف می شود ما از Database::connect() برای ایجاد کانکشن استفاده می کنیم.
  • disconnect : ارتباط با پایگاه داده را قطع می کند و مقدار کانشکن را برابر NULLقرار می دهد. ما از این تابغ برای بستن کانکشن ها استفاده می کنیم.

نمایش اطلاعات به صورت جدول در PHP

۳٫ ایجاد گرید با استفاده از Twitter Bootstrap

برای پیاده سازی عملیات CRUD ما نیاز به یک grid داریم بنابراین ابتدا یک grid می سازیم  و سپس صفحات مربوط به ایجاد (Create) ، خواندن (Read) , به روز رسانی (Update) و در نهایت حذف (Delete) را می سازیم. برای دانلود بوت استرپ از این لینک استفاده می کنیم دانلود بوت استرپ ورژنی که در این آموزش استفاده شده است 2.3.2 است . سپس یک فایل PHP با نام index.php بسازید. در صورتیکه مراحل به درستی انجام دهید باید ساختاری مشابه شکل زیر ایجاد شده باشد. php-crud-file-structure-1 حال فایل index.php را باز کرده و کدهای زیر را درآن کپی کنید.
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <link   href="css/bootstrap.min.css" rel="stylesheet">
    <script src="js/bootstrap.min.js"></script>
</head>

<body>
    <div class="container">
    		<div class="row">
    			<h3>PHP CRUD Grid</h3>
    		</div>
			<div class="row">
				
				
				<table class="table table-striped table-bordered">
		              <thead>
		                <tr>
		                  <th>Name</th>
		                  <th>Email Address</th>
		                  <th>Mobile Number</th>
		                 
		                </tr>
		              </thead>
		              <tbody>
		              <?php 
					   include 'database.php';
					   $pdo = Database::connect();
					   $sql = 'SELECT * FROM customers ORDER BY id DESC';
	 				   foreach ($pdo->query($sql) as $row) {
						   		echo '<tr>';
							   	echo '<td>'. $row['name'] . '</td>';
							   	echo '<td>'. $row['email'] . '</td>';
							   	echo '<td>'. $row['mobile'] . '</td>';
							   	echo '</tr>';
					   }
					   Database::disconnect();
					  ?>
				      </tbody>
	            </table>
    	</div>
    </div> <!-- /container -->
  </body>
</html>
بررسی کدها :
  • در قسمت <head> فایل های CSS و JavaScript بوت استرپ  را به صفحه  include می کنیم.
  • خط های ۱۵ تا ۳۸ قسمت اصلی این فایل را تشکیل می دهند . در این بخش داده ها از دیتابیس بازیابی شده و در grid نمایش داده می شوند. حال نگاهی دقیق به این قسمت خواهیم داشت .
  • ما ابتدا یک جدول با هدری که بر اساس فیلد های جدول مشتریان در دیتابیس است ایجاد می کنیم. که شامل Name و Email Address و شماره همراه است.
<thead>
		                <tr>
		                  <th>Name</th>
		                  <th>Email Address</th>
		                  <th>Mobile Number</th>
		                 
		                </tr>
		              </thead>

سپس database.php را  include کرده و یک کانکشن PDO به دیتابیش ایجاد می کنیم و با استفاده از دستور SELECT داده ها را بازیابی می کنیم. در پایان با استفاده از یک حلقه همه محتویات را نمایش می دهیم . همچنین همانگونه که در ابتدا گفته شد حتما کانکشن باید بسته شود.

 <?php 
					   include 'database.php';
					   $pdo = Database::connect();
					   $sql = 'SELECT * FROM customers ORDER BY id DESC';
	 				   foreach ($pdo->query($sql) as $row) {
						   		echo '<tr>';
							   	echo '<td>'. $row['name'] . '</td>';
							   	echo '<td>'. $row['email'] . '</td>';
							   	echo '<td>'. $row['mobile'] . '</td>';
							   	echo '</tr>';
					   }
					   Database::disconnect();
					  ?>
در صورتیکه مراحل به درستی انجام شده باشد شما باید یک گرید خالی مانند شکل زیر بعد از فراخوانی صفحه index.php داشته باشید. نمایش اطلاعات به صورت جدول در php همانطور که می بینید گرید خالی است چون داده ای در داخل جدول مشتریان وجود ندارد برای امتحان به صورت دستی در جدول مشتریان داده ای وارد کنید تا در گرید نمایش داده شود. ۴٫ ادامه دارد  به دلیل طولانی شدن مقاله ادامه آن در پست بعدی خواهد بود که در آن نشان خواهیم داد که چگونه صفحات مربوط به ایجاد (Create)  ، خواندن (Read) مربوط به عملیات CRUD در PHP یا همان نمایش اطلاعات به صورت جدول در php را بسازیم. امیدارم این مقاله برای شما مفید باشد لطفا  این مقاله را در با استفاده از دکمه های پایین در صفحات اجتماعی  به اشتراک بگذارید . برای ادامه کار ما نیاز به حمایت شما داریم . در صورت هر گونه سوال و یا خطا  در مورد مقاله نمایش اطلاعات به صورت جدول در php می توانید  آن را در پایین ویا انجمن سایت مطرح کنید.    

خواندن محتوای RSS Feed با استفاده LINQ To XML

Fetch RSS Feed

در این مقاله  نحوه استفاده از RSS در Asp.net با استفاده از LINQ to XML آموزش داده می شود.

مرحله ۱ :

شما نیاز به یک لینک feed (خوراک ) دارید. در اینجا ما از لینک feed و بلاگ برنامه نویسان استفاده می کنیم . تصویر زیر نحوه بدست آوردن این لینک رو نمایش می ده.

نحوه استفاده از rss در asp.net
خواندن RSS Feed

شما می تونید لینک رو از آیکون نارنجی رنگ با لا بگیرید همچنین من این لینک رو در پایین براتون قرار می دم :

https://acdev.ir/?feed=rss2

مرحله ۲ : 

بعد از باز کردن ویژوال استدیو  یک سایت جدید ایجاد می کنیم به مسیر New , File و سپس Website بروید.

آموزش کد خبر خوان

نحوه استفاده از RSS در ASP.NET

مرحله ۳ :  

یک سایت از نوع ASP.NET Empty Web Site ایجاد کرده و سپس یک صفحه به آن اضافه کنید.

آموزش rss
ASP.NET Empty Web Site

مرحله ۴ : کنترل ها را به صفحه اضافه کنید . در این آموزش ما یک TextBox و یک Button نیاز داریم.

کد ها ی زیر یک Rss Reader را ایجاد می کنند.

<!DOCTYPE html>  
  
<html xmlns="http://www.w3.org/1999/xhtml">  
<head runat="server">  
    <title></title>  
</head>  
<body>  
    <form id="form1" runat="server">  
        <div>  
            <strong>RSS Feed:</strong><br />  
            <asp:TextBox ID="txtrss" runat="server" TextMode="Url" Width="500px" placeholder="Enter RSS URL"></asp:TextBox>  
            <br />  
            <br />  
            <asp:Button ID="btngetrss" runat="server" Text="Get RSS Feed" OnClick="btngetrss_Click" />  
        </div>  
  
    </form>  
</body>  
</html>

Rss_feed_main

مرحله ۵ : 

یک کلاس جدید با یک پراپرتی public  داخل آن ایجاد کنید.

 

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
public class RssNews  
{  
    public string tit   
  {  
        get;  
        set;  
    }  
    public string desc  
    {  
        get;  
        set;  
    }  
    public string auth  
    {  
        get;  
        set;  
    }  
    public string contentlink  
    {  
        get;  
        set;  
    }  
    public string date   
    {  
        get;  
        set;  
    }  
  
  
}

مرحله ۶ : فضاهای نام مورد نیاز را اضافه کنید .

using System.Xml;  
using System.Xml.Linq;

آموزش نحوه استفاده از RSS در Asp.net

مرحله ۷ : حال کدهایی را را در رویداد کلیک دکمه می نویسیم

protected void btngetrss_Click(object sender, EventArgs e)  
   {  
  
       var posts = GetFeeds(txtrss.Text);  
       StringBuilder sb = new StringBuilder();  
       sb.Append("<p style='font-weight:larger'><b>C# Corner Latest Content Fetch From RSS by Aqib Shehzad</b></p>");  
       foreach (var item in posts)  
       {  
            
           sb.Append("<b>Title: </b>" + item.tit);  
           sb.Append("<br />");  
           sb.Append("<b>Description: </b>" + item.desc);  
           sb.Append("<br />");  
           sb.Append("<b>Article Link: </b><a target='_blank' href='" + item.contentlink + "'>" +item.contentlink+"</a>");  
           sb.Append("<br />");  
           sb.Append("<b>Published Date: </b>" + item.date);  
           sb.Append("<br />");  
           sb.Append("<b>Author: </b>" + item.auth);  
           sb.Append("<br />");  
           sb.Append("------------------------------------------------------------------------------------------------------------");  
           sb.Append("<br />");  
  
       }  
       HttpContext.Current.Response.Write(sb);  
   }

متد مربوط به خبر خوان Feed Reader از یک URL

public static IEnumerable<RssNews> GetFeeds(string url)  
    {  
        XDocument rssfeedxml;  
        XNamespace namespaceName = "http://www.w3.org/2005/Atom";  
        rssfeedxml = XDocument.Load(url);  
  
  
        StringBuilder rssContent = new StringBuilder();  
  
        var list = (from descendant in rssfeedxml.Descendants("item")  
  
                    //Response.Write(list);  
                    select new RssNews  
                    {  
                        tit = descendant.Element("title").Value,  
                        desc = descendant.Element("description").Value,  
                        contentlink = descendant.Element("link").Value,  
                        date = descendant.Element("pubDate").Value 
                       
  
                    });  
        return list.ToList();  
    }

حال بعد از مقدار دهی نمونه جدید  از کلاس XDocument می تونیم فضای نام Rss Feed رو اعلان کنیم.

XNamespace namespaceName = "http://www.w3.org/2005/Atom";    

در این مرحله امکان لود محتوای URI وجود دارد و یک نمونه جدید از Xdocument رو می سازیم.

XDocument.Load(url);  

بعد از خواندن داده ها ما می تونیم المنت های مورد نیاز رو بدست بیاریم.

var list = (from descendant in rssfeedxml.Descendants("item")      

در انتها با توجه به نیاز باید تغییرات رو ایجاد کنید تا محتوای مورد نظر ایجاد بشه.

Feed

دانلود پروژه

IIS : تنظیمات صفحه پیش فرض (Default Page) برای یک سایت در IIS

زمانیکه شما آدرس یک سایت (مانند www.someurl.com) را وارد می کنیدبه صورت خودکار صفحه ای مانند www.someurl.com/index.aspx لود می شود.  این به دلیل  ویژگی با عنوان  “Default Document” در IIS است که تنظمات صفحه پیش فرض در آن تعریف شده است.در این آموزش ایجاد وب سایت در IIS  قصد داریم درباره این ویژگی توضیح دهیم.

  • برای باز کردن IIS دستور inetmgr در پنجره Run  اجرا کنید.
  • گزینه Default Document را انتخاب کرده و برروی آن کلیک کنید.
  • در پنجره باز شده برخی از انواع سندهای از قبل تعریف به ترتیب شده دیده می شوند.
    ایجاد وب سایت در iis
  • با لاترین گزینه بیشترین اولویت و پایین ترین کم ترین اولویت را دارند.

ایجاد وب سایت در IIS

طبق تصویر بالا سند Default.htm بالاترین اولویت و فایل Default.aspx کم ترین اولویت را دارد. به این معنی که زمانی که کاربر آدرس www.someurl.com را تایپ می کند ، IIS درون Virtual Directory را جهت یافتن فایل هایی که به ترتیب در بالا قرار دارند ، جستجو می کنددر صورتیکه هر کدام از آنها را پیدا کرد آن را لود خواهد کرد.

IIS همچنین این امکان را به شما می دهد یک default document سفارشی به ازاء هر سایت ایجاد کنید. برای نمونه اگر یک صفحه مانند home.htm را به عنوان صفحه پیش فرض انتخاب کنیم و چنین صفحه ای وجود نداشته باشدIIS داخل سایت را جستجوکرده و هشدار زیر را صادر می کند که هر زمان آدرس سایت درخواست می شود IIS باید جستجو ها را به ترتیب زیر انجام دهد.

 آموزش IIS

بر اساس هشداری که اعلان شده است شما باید default document را به بالا انتقال دهید که باعث افزایش کارایی IIS شده و از پایین رفتن در لیست جهت یافتن صفحه پیش فرض جلوگیری می کند.

گرفتن خروجی PDF از RadGrid در ASP.NET

Export to PDF from a RadGrid

مقداری داده جهت خروجی گرفتن از RadGrid در نظر می گیریم :

Table

طراحی Grid :
Design of the Grid

<divclass="row TopBar"><%--   
    <telerik:RadAjaxPanel ID="RadAjaxPanel1" runat="server">--%>  
        <telerik:RadGridID="RadGridTotalCOD"runat="server"AutoGenerateColumns="False"GroupPanelPosition="Top"AllowPaging="True"AllowFilteringByColumn="True"AllowMultiRowSelection="True"Skin="Outlook"OnItemCommand="RadGridTotalCOD_ItemCommand"OnPageIndexChanged="RadGridTotalCOD_PageIndexChanged"OnPageSizeChanged="RadGridTotalCOD_PageSizeChanged"PageSize="8"OnPdfExporting="RadGridTotalCOD_PdfExporting">  
            <ClientSettingsEnablePostBackOnRowClick="true">  
                <SelectingAllowRowSelect="true"/>  
            </ClientSettings>  
            <ExportSettingsExportOnlyData="true"Excel-Format="Html"OpenInNewWindow="true">  
                <PdfPageHeight="210mm"PageWidth="297mm"DefaultFontFamily="Arial Unicode MS"PageTopMargin="45mm"  
BorderStyle="Thin"BorderColor="#666666">  
                </Pdf>  
            </ExportSettings>  
            <MasterTableViewDataKeyNames="OrderId">  
                <CommandItemSettingsShowExportToExcelButton="true"/>  
                <Columns>  
                    <telerik:GridTemplateColumnFilterControlAltText="Filter TemplateColumn column"UniqueName="TemplateColumn"Display="true"AllowFiltering="false"ShowFilterIcon="false">  
                        <ItemTemplate><%#Container.DataSetIndex+1 %>  
                        </ItemTemplate>  
                    </telerik:GridTemplateColumn>  
                    <telerik:GridTemplateColumnFilterControlAltText="Filter TemplateColumn column"UniqueName="TemplateColumn2"Display="false"AllowFiltering="false"ShowFilterIcon="false"HeaderStyle-Width="100">  
                        <ItemTemplate>  
                            <asp:LabelID="LblOrderId"runat="server"Text='<%#Eval("OrderId") %>'>  
                            </asp:Label>  
                        </ItemTemplate>  
                    </telerik:GridTemplateColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="OrderId"HeaderText="ORDER ID"DataField="OrderId"Display="false"AllowFiltering="false"ShowFilterIcon="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="OrderNo"HeaderText="ORDER NO"DataField="OrderNo">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridDateTimeColumnFilterControlAltText="Filter column column"UniqueName="OrderDate"HeaderText="ORDER DATE"DataField="OrderDate"AllowFiltering="true"ShowFilterIcon="true"HeaderStyle-Width="150px"DataFormatString="{0:dd/MMM/yyyy}">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridDateTimeColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="ApplicantName"HeaderText="APPLICANT NAME"DataField="ApplicantName"HeaderStyle-Width="150px">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="ContactNo"HeaderText="CONTACT NO"DataField="ContactNo"AllowFiltering="true"ShowFilterIcon="true"HeaderStyle-Width="150px">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="Email"HeaderText="EMAIL"DataField="Email"AllowFiltering="true"ShowFilterIcon="true">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="ShippingAddress"HeaderText="SHIPPING ADDRESS"DataField="ShippingAddress"AllowFiltering="false"ShowFilterIcon="false"Display="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="Pincode"HeaderText="PIN CODE"DataField="Pincode"AllowFiltering="false"ShowFilterIcon="false"Display="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="CityName"HeaderText="CityName"DataField="CityName"AllowFiltering="false"ShowFilterIcon="false"Display="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="StateName"HeaderText="StateName"DataField="StateName"AllowFiltering="false"ShowFilterIcon="false"Display="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="CountryName"HeaderText="CountryName"DataField="CountryName"AllowFiltering="false"ShowFilterIcon="false"Display="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="PaymentId"HeaderText="Payment Id"DataField="PaymentId"AllowFiltering="false"ShowFilterIcon="false"Display="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="Prices"HeaderText="TOTAL AMOUNT"DataField="Prices"AllowFiltering="false"ShowFilterIcon="false">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridBoundColumnFilterControlAltText="Filter column column"UniqueName="Status"HeaderText="STATUS"DataField="Status">  
                        <ColumnValidationSettings>  
                            <ModelErrorMessageText=""/>  
                        </ColumnValidationSettings>  
                    </telerik:GridBoundColumn>  
                    <telerik:GridTemplateColumnAllowFiltering="false"ShowFilterIcon="false">  
                        <ItemTemplate>  
                            <telerik:RadButtonID="RadBtnAction"runat="server"Text="Action"Skin="Glow"CommandName="cmd_action"CommandArgument='<%#Eval("OrderId") %>'>  
                            </telerik:RadButton>  
                        </ItemTemplate>  
                    </telerik:GridTemplateColumn>  
                </Columns>  
                <NestedViewTemplate>  
                    <telerik:RadGridID="RadGridChild"runat="server"AutoGenerateColumns="false"GroupPanelPosition="Top"Skin="Silk">  
                        <ClientSettings>  
                            <SelectingAllowRowSelect="true"/>  
                        </ClientSettings>  
                        <MasterTableViewDataKeyNames="OrderId">  
                            <Columns>  
                                <telerik:GridTemplateColumnFilterControlAltText="Filter TemplateColumn column"UniqueName="TemplateColumn1"Display="false"AllowFiltering="false"ShowFilterIcon="false">  
                                    <ItemTemplate><%#Container.DataSetIndex+1 %>  
                                    </ItemTemplate>  
                                </telerik:GridTemplateColumn>  
                                <telerik:GridTemplateColumnFilterControlAltText="Filter TemplateColumn column"UniqueName="TemplateColumn3"Display="true"AllowFiltering="false"ShowFilterIcon="false">  
                                    <ItemTemplate>  
                                        <tablestyle="width: 100%;">  
                                            <tr>  
                                                <tdstyle="width: 20px;">  
                                                </td>  
                                                <tdstyle="width: 150px;">  
                                                </td>  
                                                <tdstyle="width: 2px;">  
                                                </td>  
                                                <tdstyle="width: 200px;">  
                                                </td>  
                                                <td></td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td>Your Application No</td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="LblApplicationNo"runat="server"Text='<%#Eval("ApplicationNo") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                                <td></td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td>Order No</td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="LblOrderNo"runat="server"Text='<%#Eval("OrderNo") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                                <td></td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td>Payment Mode</td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="LblPaymentMode"runat="server"Text='<%#Eval("PaymentMode") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                                <td></td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <tdcolspan="4">  
                                                    <tablestyle="width:350px; border:1px solid black;">  
                                                        <tr>  
                                                            <tdstyle="width:144px;"class="InnerTblHeadTop">Item Name  
                                                            </td>  
                                                            <tdclass="InnerTblHeadTop">  
                                                            </td>  
                                                            <tdclass="InnerTblHeadTop">Amount  
                                                            </td>  
                                                        </tr>  
                                                        <tr>  
                                                            <td>Prospectus Fees</td>  
                                                            <td>:</td>  
                                                            <td>  
                                                                <asp:LabelID="LblProspectusFees"runat="server"Text='<%#Eval("ProspectusFees") %>'>  
                                                                </asp:Label>  
                                                            </td>  
                                                        </tr>  
                                                        <tr>  
                                                            <td>EMD1</td>  
                                                            <td>:</td>  
                                                            <td>  
                                                                <asp:LabelID="LblEMD1"runat="server"Text='<%#Eval("EMD1") %>'>  
                                                                </asp:Label>  
                                                            </td>  
                                                        </tr>  
                                                        <tr>  
                                                            <tdclass="InnerTblHead">Total Amount  
                                                            </td>  
                                                            <tdclass="InnerTblHead">  
                                                            </td>  
                                                            <tdclass="InnerTblHead">  
                                                                <asp:LabelID="LblTotalPrice"runat="server"Text='<%#Eval("Prices") %>'>  
                                                                </asp:Label>  
                                                            </td>  
                                                        </tr>  
                                                    </table>  
                                                </td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td>Email</td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="LblEmail"runat="server"Text='<%#Eval("Email") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                                <td></td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td>Shipping Address</td>  
                                                <td>:</td>  
                                                <tdcolspan="2">  
                                                    <asp:LabelID="Label1"runat="server"Text='<%#Eval("ShippingAddress") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td>City Name</td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="Label3"runat="server"Text='<%#Eval("CityName") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                                <tdstyle="width:150px;">State Name  
                                                </td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="Label4"runat="server"Text='<%#Eval("StateName") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                                <tdstyle="width:150px;">Country Name  
                                                </td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="Label5"runat="server"Text='<%#Eval("CountryName") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td>Pincode</td>  
                                                <td>:</td>  
                                                <td>  
                                                    <asp:LabelID="Label2"runat="server"Text='<%#Eval("Pincode") %>'>  
                                                    </asp:Label>  
                                                </td>  
                                                <td></td>  
                                            </tr>  
                                            <tr>  
                                                <td></td>  
                                                <td></td>  
                                            </tr>  
                                        </table>  
                                        <tablestyle="width:100%;">  
                                            <tr>  
                                                <tdstyle="width:3px;">  
                                                </td>  
                                                <td>Thank you, for applying in the Kencloud Partnership Program. Your Application   
                                                    <b><%#Eval("ApplicationNo") %>  
                                                    </b> has been successfully submitted  
  
                                                    <br/>  
and Order No.  
                                                    <b><%#Eval("OrderNo") %>  
                                                    </b>has been confirmed for the value of INR   
                                                    <b><%#Eval("Prices") %>  
                                                    </b> . The application prospectus kit along with the  
  
                                                    <br/>  
reciept will be dispatched to your given address shortly.  
  
                                                </td>  
                                            </tr>  
                                        </table>  
                                    </ItemTemplate>  
                                </telerik:GridTemplateColumn>  
                            </Columns>  
                        </MasterTableView>  
                    </telerik:RadGrid>  
                </NestedViewTemplate>  
            </MasterTableView>  
        </telerik:RadGrid><%--   
    </telerik:RadAjaxPanel>--%>  
</div>

کدهای فایل .cs

فرمت بندی PDF

#region--Declaring Head Part  
for The Pdf Export--  
stringheaderMiddleCell = "<h2>My Contact Details </h2>";  
stringheaderLeftCell = "<imgsrc=\"Images/sushibar.jpg\" alt=\"sushi bar\" style=\"width:64px; height: 64px;\" />";  
stringfooterMiddleCell = "<?page-number?>";#  
endregion  
privatevoidExportToPdf()  
{#region--Export Selected Data To Pdf--  
    try  
    {  
        RadGridTotalCOD.AllowPaging = true;  
        RadGridTotalCOD.AllowFilteringByColumn = false;  
        // loading the Grid with data  
        LoadTotalCod();#  
        region--Export with format removed--  
        RadGridTotalCOD.ExportSettings.ExportOnlyData = true;  
        RadGridTotalCOD.ExportSettings.Pdf.BorderStyle = GridPdfSettings.GridPdfBorderStyle.Thin;  
        RadGridTotalCOD.ExportSettings.Pdf.BorderType = GridPdfSettings.GridPdfBorderType.NoBorder;  
        RadGridTotalCOD.ExportSettings.Pdf.BorderType = GridPdfSettings.GridPdfBorderType.AllBorders;  
        RadGridTotalCOD.ExportSettings.Pdf.PageHeader.MiddleCell.Text = headerMiddleCell;  
        RadGridTotalCOD.ExportSettings.Pdf.PageHeader.MiddleCell.TextAlign = GridPdfPageHeaderFooterCell.CellTextAlign.Center;  
        // RadGridTotalCOD.ExportSettings.Pdf.PageHeader.LeftCell.Text = headerLeftCell;  
        RadGridTotalCOD.ExportSettings.Pdf.PageHeader.LeftCell.TextAlign = GridPdfPageHeaderFooterCell.CellTextAlign.Center;  
        RadGridTotalCOD.ExportSettings.Pdf.PageFooter.MiddleCell.Text = footerMiddleCell;  
        RadGridTotalCOD.ExportSettings.Pdf.PageFooter.MiddleCell.TextAlign = GridPdfPageHeaderFooterCell.CellTextAlign.Center;#  
        endregion  
        string Date = DateTime.Now.ToString("dd/MMM/yyyy");  
        RadGridTotalCOD.ExportSettings.FileName = "Client Address " + " " + Date;#  
        region--Making Visible false some of the column before exporting--  
        // TemplateColumn, TemplateColumn2, OrderId, OrderNo, OrderDate, Email, Prices, Status  
        (RadGridTotalCOD.MasterTableView.GetColumn("TemplateColumn") asGridTemplateColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("TemplateColumn") asGridTemplateColumn).Display = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("TemplateColumn2") asGridTemplateColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("TemplateColumn2") asGridTemplateColumn).Display = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("OrderId") asGridBoundColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("OrderId") asGridBoundColumn).Display = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("OrderNo") asGridBoundColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("OrderNo") asGridBoundColumn).Display = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("OrderDate") asGridBoundColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("OrderDate") asGridBoundColumn).Display = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Email") asGridBoundColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Email") asGridBoundColumn).Display = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Prices") asGridBoundColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Prices") asGridBoundColumn).Display = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Status") asGridBoundColumn).Visible = false;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Status") asGridBoundColumn).Display = false;#  
        endregion# region--Making visible true on a Regular Basis--(RadGridTotalCOD.MasterTableView.GetColumn("ShippingAddress") asGridBoundColumn).Visible = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("ShippingAddress") asGridBoundColumn).Display = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Pincode") asGridBoundColumn).Visible = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("Pincode") asGridBoundColumn).Display = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("CityName") asGridBoundColumn).Visible = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("CityName") asGridBoundColumn).Display = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("StateName") asGridBoundColumn).Visible = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("StateName") asGridBoundColumn).Display = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("CountryName") asGridBoundColumn).Visible = true;  
        (RadGridTotalCOD.MasterTableView.GetColumn("CountryName") asGridBoundColumn).Display = true;#  
        endregion  
        // Export Only the Parent Grid Data not tHe Inner Grid  
        RadGridTotalCOD.MasterTableView.HierarchyDefaultExpanded = false; // first level  
        RadGridTotalCOD.MasterTableView.ExportToPdf();  
        // Making visible true   
        RadGridTotalCOD.AllowFilteringByColumn = true;  
    }  
    catch (ArgumentNullExceptionExc)  
    {  
        LblErrorMsg.Text = "Application Error : " + Exc.Message;  
    }  
    catch (InvalidCastExceptionExc)  
    {  
        LblErrorMsg.Text = "Application Error : " + Exc.Message;  
    }  
    catch (InvalidOperationExceptionExc)  
    {  
        LblErrorMsg.Text = "Application Error : " + Exc.Message;  
    }  
    catch (FormatExceptionExc)  
    {  
        LblErrorMsg.Text = "Application Error : " + Exc.Message;  
    }  
    catch (ExceptionExc)  
    {  
        LblErrorMsg.Text = "Application Error : " + Exc.Message;  
    }#  
    endregion  
}

 

ردیابی خطا های ایجاد شده در IIS

یک ابزار خوب برای بررسی خطاهای ایجاد شده در IIS ، ابزار Failed Request Tracing است که روش عالی برای بررسی خطاها  می باشد که در این آموزش کار با IIS درباره آن توضیح خواهیم داد .

  • آیا خطای ۵۰۰ است ؟
  • آیا خطای مجوز دسترسی است و نمی دانید مکان آن کجاست ؟
  • آیا خطای ایجاد شده در لاگ وجود ندارد؟

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

در IIS Manager سایت مورد نظر را انتخاب کنید.در پنل Action  در زیر Manage Web Site برروی Failed Request Tracing.. کلیک کنید.

آموزش کار با iis

در تصویر بعد آن را فعال کرده و برروی ok کلیک کنید.

آموزش کار با iis در ویندوز 7

بعد آیکون Failed Request Tracing Rules پیدا کرده و برروی ان کلیک کنید:

ایجاد وب سایت در iis

آموزش کار با IIS ( خطایابی )

در تصویر بعد ما  یک rule اضافه می کنیم.  در قسمت باز شده راست کلیک کرده و گزینه Add را انتخاب کنید.

کلاس های آموزش طراحی سایت در مشهد

 

محتوایی که قصد ردیابی آن را دارید انتخاب کنید.

کلاس های طراحی وب در مشهد

در این تصویر آموزش کار با IIS ، مقدار ۴۰۰-۹۹۹ را که نمایانگر بازه همه خطاهای ایجاد شده است را تایپ کنید.

آموزش وردپرس در مشهد

فراهم کننده ردیابی (trace providers) که معمولا همه آنها انتخاب شده اند را باید انتخاب کنید.

دوره های طراحی سایت در مشهد

یک درخواست به سایت ارسال کنید (به وسیله مرورگر ، ایجکس و..)

حال در پوشه inetpub در قسمت logs ، پوشه جدیدی با نام FaildReqLogFiles  خواهید دیدکه در ان چندین پوشه قرار دارد آخرین آنها را انتخاب کنید.

اموزش طراحی وب در مشهد

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

کلاس طراحی وب مشهد

برروی آن دابل کلیک کرده تا باز شود حال جزئیات اطلاعات ایجاد شده را خواهید دید. در این مثال خطای certificate رخ داده است.آموزش طراحی سایت مشهد

همچنین دقت داشته باشید بعد از رفع خطا حتما این ابزاررا غیر فعال کنید (آموزش کار با IIS )

دانلود کتاب آموزش HTML 5 با استفاده از Visual Studio 2015

در HTML 5 تغییراتی در تگ ها ، بهبود هایی در استفاده از CSS  و همچنین جاوااسکریپت ایجاد شده است که باعث می شود بتوانیم از آن در پلت فرم های مختلف استفاده کنیم . در این کتاب این ویژگی های جدید با استفاده از ویژوال استدیو معرفی می شوندو همچنین هدف از آن معرفی مزایای HTML 5  برای برنامه نویسان ASP.NET  در پلت فرم های مختلف مثل وب فرم و MVC  می باشد. کتاب آموزش طراحی وب سایت با ویژوال استودیو ۲۰۱۵ شامل ۵ فصل می باشد که از معرفی HTML 5 شروع شده و بعد از آن به بررسی امکانات HTML 5 و نحوه به کارگیری آن در تکنولوژی های وب مایکروسافت از جمه ASP.NET Form و ASP.NET MVC  می پردازد .

آموزش طراحی وب سایت با ویژوال استودیو 2015

سر فصل های کتاب آموزش طراحی وب سایت با ویژوال استودیو ۲۰۱۵

  • معرفی
    • آشنایی با محیط های برنامه نویسی تحت وب
    • بررسی HTML 5
    • نحوه انتخاب ابزارهای توسعه
    • ASP.NET 5
  • آموزش نحوه استفاده از ویژگی های جدید HTML 5 در طراحی وب سایت
    • آموزش طراحی وب سایت با ویژوال استودیو ۲۰۱۵ در ASP.NET Form
    • آموزش طراحی وب سایت با ویژوال استودیو ۲۰۱۵ در ASP.NET MVC
    • آموزش به کارگیری CSS
    • آموزش طراحی وب سایت برای موبایل
  • بررسی امکانات بیشتر
    • پشتیبانی از مرورگرهای قدیمی
    • استقاده از ویدئو و صوت
    • استفاده از تصاویر برداری در طراحی وب با HTML 5
    • آموزش Canvas ذر طراحی وب با HTML 5
  • استفاده از ویژگی های پیشرفته HTML 5  در طراحی وب
    • موقعیت جغرافیایی و نقشه
    • کار با سوکتهای وب

 

توضیحات کتاب آموزش طراحی وب سایت با ویژوال استودیو ۲۰۱۵

نویسنده :Mark J. Collins

موضوع :   Pro HTML5 With Visual Studio 2015

تعداد صفحات : 435

فرمت : کتاب PDF

ناشر : Apress

زبان : انگلیسی

Pro HTML5 with Visual Studio 2015(دانلود)

دانلود کتاب معرفی قابلیت های SQL Server 2016

این کتاب SQL Server 2016 به ویژگی های جدید و پیشرفت های صورت گرفته از قبیل بهبود امنیت  ، گزارش سازی یکپارچه و قابلیت های تجزیه وتحلیل در SQL Server 2016 می پردازد.
کتاب sql server 2016

سر فصل های کتاب ویژگی های SQL Server 2016

  • افزایش امنیت
    • Always Encrypted
    • Row-Level Security ( امنیت در سطح پایین )
    • Dynamic data masking ( ماسک گذاری برروی داده های پویا )
  • بهبود موتور پایگاه داده
    • بهبود پایگاه داده موقت ( TempDB )
    • Query Store
    • Stretch Database
  • بهبود گزارشات
    • انواع گزارشات
    • گزارش سازی برای موبایل
    • توسعه KPI
    • بهبود دسترسی به گزارشات

توضیحات کتاب SQL Server 2016

نویسنده : Stacia Varga

موضوع :  کتاب SQL Server 2016 – معرفی ویژگی های جدید

تعداد صفحات : ۶۵

فرمت : کتاب PDF

ناشر : Microsoft

زبان : انگلیسی

دانلود کتاب :

دانلود کتاب

 


دوره آموزشی Sql Server