Hướng dẫn cài đặt IIS trên Windows 7, 8, 10

IIS (Internet Information Services) là dịch vụ WebServer trên Windows (có mặt trên các phiên bản khác nhau, XP, Vista, Windows 7, 8, Windows Server). Mặc định hệ thống đã ẩn chức năng đó đi. Tuy nhiên chúng ta hoàn toàn dễ dàng kích hoạt nó lên để sử dụng. Ở đây hướng dẫn các bạn cách bật IIS trên Windows 8, 8.1 (Windows 7 tương tự) để chạy các ứng dụng ASP.NET, ASP.NET MVC.

Các bước để cài đặt IIS trên Windows 8, Windows 10

Trên thanh Charm chọn Search, chọn Setting gõ Programs and Features

tuanitpro.com-cai-dat-iis-buoc-1

Trong cửa sổ Programs and Features Click Turn Windows features on or off

tuanitpro.com-cai-dat-iis-buoc-2

Mở rộng Internet Information Service. Trong đó có 3 phần, bạn chỉ cần quan tâm Web Management Tools & World Wide Web Services. Mở rộng 2 nhánh này và tick chọn vào checkbox. (Mẹo: nên chọn hết để sau này khỏi mất công đôi khi không chạy)

tuanitpro.com-cai-dat-iis-buoc-3

Nhấn OK và chờ vài phút để hệ thống cập nhật lại. Khởi động lại máy tính của bạn nếu cần.

tuanitpro.com-cai-dat-iis-buoc-4

Bạn mở trình duyệt lên gõ: http://localhost hoặc http://127.0.0.1. Nếu trình duyệt xuất hiện màn hình như dưới đây thì xin chúc mừng, bạn đã cài đặt thành công. (Hình bên dưới là IIS 8.5 trên Windows 8.1, của bạn có thể khác một chút)

tuanitpro.com-cai-dat-iis-buoc-5

Để khởi động IIS, vào ô Search gõ IIS

tuanitpro.com-cai-dat-iis-buoc-6

tuanitpro.com-cai-dat-iis-buoc-7

Chúc các bạn thành công.

Hướng dẫn Cách thêm site mới vào IIS

Tìm hiểu ASP.NET MVC và sự khác biệt với ASP.NET WebForm

Thời gian gần đây, khi lập trình web trên ngôn ngữ ASP.NET, các bạn thường quan tâm ngay và luôn đến MVC. Bạn cũng có nghe về ASP.NET WebForm truyền thống, cả những điểm yếu và giới hạn của nó. Không lẽ ASP.NET WebForm đã chết, không hoàn toàn như vậy, Microsoft muốn mọi người hiểu rằng có hai nền tảng song song nhau, hỗ trợ cho nhau, và cả hai đều là đối tượng cho việc phát triển hiện tại. Theo đánh giá của bản thân người viết, đã làm việc với 2 nền tảng công nghệ này, thì năng lực của chúng hoàn toàn tương đương nhau. Việc chọn lựa mô hình nào để học, hay làm việc là tùy hoàn cảnh, tùy sở thích người học. 🙂

Trước khi nêu ra sự khác biệt ASP.NET MVCASP.NET WebFrom ta cần biết một số khái niệm cơ bản về mô hình MVC.

Để tìm hiểu thêm về MVC 4, MVC 5 bạn có thể tải về 2 cuốn ebook tại đây. Sách nay nên đọc.

Tổng quan về ASP.NET MVC:

ASP.NET MVC
ASP.NET MVC

Mẫu kiến trúc Model – View – Controller được sử dụng nhằm chi ứng dụng thành ba thành phần chính: model, view và controller. Nền tảng ASP.NET MVC giúp cho chúng ta có thể tạo được các ứng dụng web áp dụng mô hình MVC thay vì tạo ứng dụng theo mẫu ASP.NET Web Forsm. Nền tảng ASP.NET MVC có đặc điểm nổi bật là nhẹ (lighweigt), dễ kiểm thử phần giao diện (so với ứng dụng Web Forms), tích hợp các tính năng có sẵn của ASP.NET. Nền tảng ASP.NET MVC được định nghĩa trong namespace System.Web.Mvc và là một phần của name space System.Web.

MVC là một mẫu thiết kế (design pattern) chuẩn mà nhiều lập trình viên đã quen thuộc. Một số loại ứng dụng web sẽ thích hợp với kiến trúc MVC. Một số khác vẫn thích hợp với ASP.NET Web Forms và cơ chế postbacks. Đôi khi có những ứng dụng kết hợp cả hai kiến trúc trên.

– Model: Được giao nhiệm vụ cung cấp dữ liệu cho cơ sở dữ liệu và lưu dữ liệu vào các kho chứa dữ liệu. Tất cả các nghiệp vụ logic được thực thi ở Model. Dữ liệu vào từ người dùng sẽ thông qua View để kiểm tra ở Model trước khi lưu vào cơ sở dữ liệu. Việc truy xuất, xác nhận và lưu dữ liệu là một phần của Model.

– View: Hiển thị các thông tin cho người dùng của ứng dụng và được giao nhiệm vụ cho việc nhận các dữ liệu vào từ người dùng, gởi đi các yêu cầu đến bộ điều khiển, sau đó là nhận lại các phản hồi từ bộ điề khiển và hiển thị kết quả cho người dùng. Các trang HTML, JSP, các thư viện thể và các file nguồn là một phần của View.

– Controller: là tầng trung gian giữa Model và View. Controller được giao nhiệm vụ nhận các yêu cầu từ phía máy khách. Một yêu cầu được nhận từ máy khách được thực hiện bởi một chức năng logic thích hợp từ thành phần Model và sau đó sinh ra các kết quả cho người dùng và được thành phần View hiển thị. ActionServlet, Action, ActionForm, struts-config.xml là các thành phần của Controller.

Lựa chọn áp dụng MVC trong xây dựng ứng dụng

Bạn cần phải xem xét kỹ càng việc áp dụng mô hình ASP.NET MVC hay mô hình ASP.NET Web Forms khi xây dựng một ứng dụng. Mô hình MVC không phải là mô hình thay thế cho Web Forms, bạn có thể dùng một trong hai mô hình.

Trước khi quyết định sử dụng MVC hay Web Forms cho một web site cụ thể, bạn cần phải phân tích lợi ích khi chọn một trong hai hướng.

Lợi ích của ứng dụng web dựa trên mô hình MVC

Nền tảng ASP.NET MVC mang lại những lợi ích sau:

  • Dễ dàng quản lý sự phức tạp của ứng dụng bằng cách chia ứng dụng thành ba thành phần model, view, controller
  • Nó không sử dụng view state hoặc server-based form. Điều này tốt cho những lập trình viên muốn quản lý hết các khía cạnh của một ứng dụng.
  • Nó sử dụng mẫu Front Controller, mẫu này giúp quản lý các requests (yêu cầu) chỉ thông qua một Controller. Nhờ đó bạn có thể thiết kế một hạ tầng quản lý định tuyến.
  • Hỗ trợ tốt hơn cho mô hình phát triển ứng dụng hướng kiểm thử (TDD)
  • Nó hỗ trợ tốt cho các ứng dụng được xây dựng bởi những đội có nhiều lập trình viên và thiết kế mà vẫn quản lý được tính năng của ứng dụng

Lợi ích của ứng dụng được xây dựng trên nền tảng Web Forms

  • Nó hỗ trợ cách lập trình hướng sự kiện, quản lý trạng thái trên giao thức HTTP, tiện dụng cho việc phát triển các ứng dụng Web phục vụ kinh doanh. Các ứng dụng trên nền tảng Web Forms cung cấp hàng tá các sự kiện được hỗ trợ bởi hàng trăm các server controls.
  • Sử dụng mẫu Page Controller.
  • Mô hình này sử dụng view state hoặc server-based form, nhờ đó sẽ giúp cho việc quản lý trạng thái các trang web dễ dàng.
  • Nó rất phù hợp với các nhóm lập trình viên quy mô nhỏ và các thiết kế, những người muốn tận dụng các thành phần giúp xây dựng ứng dụng một cách nhanh chóng.
  • Nói tóm lại, áp dụng Web Forms giúp giảm bớt sự phức tạp trong xây dựng ứng dụng, bởi vì các thành phần (lớp Page, controls,…) được tích hợp chặc chẽ và thường thì giúp bạn viết ít code hơn là áp dụng theo mô hình MVC.

Các tính năng của nền tảng ASP.NET MVC

  • Tách bạch các tác vụ của ứng dụng (logic nhập liệu, business logic, và logic giao diện), dễ dàng kiểm thử và mặc định áp dụng hướng phát triển TDD. Tất cả các tính năng chính của mô hình MVC được cài đặt dựa trên interface và được kiểm thử bằng cách sử dụng các đối tượng mocks, mock object là các đối tượng mô phỏng các tính năng của những đối tượng thực sự trong ứng dụng. Bạn có thể kiểm thử unit-test cho ứng dụng mà không cần chạy controller trong tiến trình ASP.NET, và điều đó giúp unit test được áp dụng nhanh chóng và tiện dụng. Bạn có thể sử dụng bất kỳ nền tảng unit-testing nào tương thích với nền tảng .NET.
  • MVC là một nền tảng khả mở rộng (extensible) & khả nhúng (pluggable). Các thành phần của ASP.NET MVC được thiết kể để chúng có thể được thay thế một cách dễ dàng hoặc dễ dàng tùy chỉnh. Bạn có thể nhúng thêm view engine, cơ chế định tuyến cho URL, cách kết xuất tham số của action-method và các thành phần khác. ASP.NET MVC cũng hỗ trợ việc sử dụng Dependency Injection (DI) và Inversion of Control (IoC). DI cho phép bạn gắn các đối tượng vào một lớp cho lớp đó sử dụng thay vì buộc lớp đó phải tự mình khởi tạo các đối tượng. IoC quy định rằng, nếu một đối tượng yêu cầu một đối tượng khác, đối tượng đầu sẽ lấy đối tượng thứ hai từ một nguồn bên ngoài, ví dụ như từ tập tin cấu hình. Và nhờ vậy, việc sử dụng DI và IoC sẽ giúp kiểm thử dễ dàng hơn.
  • ASP.NET MVC có thành phần ánh xạ URL mạnh mẽ cho phép bạn xây dựng những ứng dụng có các địa chỉ URL xúc tích và dễ tìm kiếm. Các địa chỉ URL không cần phải có phần mở rộng của tên tập tin và được thiết kế để hỗ trợ các mẫu định dạng tên phù hợp với việc tối ưu hóa tìm kiếm (URL) và phù hợp với lập địa chỉ theo kiểu REST.
  • Hỗ trợ sử dụng đặc tả (các thẻ) của các trang ASP.NET(.aspx), điều khiển người dùng (.ascx) và trang master page (.marter). Bạn có thể sử dụng các tính năng có sẵn của ASP.NET như là sử dụng lồng các trang master page, sử dụng in-line expression (<%= %>), sử dụng server controls, mẫu, data-binding, địa phương hóa (localization) và hơn thế nữa.
  • Hỗ trợ các tính năng có sẵn của ASP.NET như cơ chế xác thực người dùng, quản lý thành viên, quyền, output caching và data caching, seession và profile, quản lý tình trạng ứng dụng, hệ thống cấu hình…
  • ASP.NET MVC 3 còn bổ sung một view engine mới là Razor View Engine cho phép thiết lập các view nhanh chóng, dễ dàng và tốn ít công sức hơn so với việc sử dụng Web Forms view engine.

Bảng so sánh giữa ASP.NET Webform và ASP.NET MVC

Các tính năng ASP.NET WebForm ASP.NET MVC
Kiến trúc chương trình Kiến trúc mô hình WebForm –> Bussiness –> Database Kiến trúc sử dụng việc phân chia chương trình thành: Models, Views, Controllers
Cú pháp chương trình Sử dụng cú pháp của WebForm, tất cả các sự kiện và controls do server quản lý Các sự kiện được điều khiển bởi controllers, các controls không do server quản lý.
Truy cập dữ liệu Sử dụng hầu hết các công nghệ truy cập dữ liệu trong ứng dụng Phần lớn dùng LINQ và SQL class để tạo mô hình truy cập đối tượng.
Debug Debug phải thực hiện tất cả bao gồm các lớp truy cập dữ liệu, sự hiển thị, điều khiển các controls. Debug có thể sử dụng các unit test để kiểm tra các phương thức trong controllers.
Tốc độ phân tải Tốc độ phân tải chậm khi trong trang có quá nhiều các controls vì ViewState quá lớn Phân tải nhanh hơn do không phải quản lý ViewState để quản lý các controls trong trang.
Tương tác với JavaScript Tương tác với JavaScript khó khăn vì các controls được điều khiển bởi server Tương tác với JavaScript dễ dàng vì các đối tượng không do server quản lý điều khiển không khó
URL address Cấu trúc địa chỉ URL có dạng:
<filename>.aspx?&<các tham số>
Cấu trúc địa chỉ rành mạch theo dạng Controllers/Action/ID

 

ASP.NET MVC4 Sending Email

ASP.NET MVC 4 SendMail
ASP.NET MVC 4 Send Mail
[ASP.NET MVC4 Sending Email] Trong quá trình lập trình web, luôn có trường hợp chúng ta cần gửi email cho ai đó, người dùng của chúng ta, ví dụ khi đăng ký thành viên, cần gửi email kích hoạt. Khi quên mật khẩu, gửi email yêu cầu lấy lại.  Khi khách hàng mua hàng online, cần gửi email xác nhận, hay có phản hồi từ người dùng, và nhiều trường hợp khác nữa…

Trong phạm vi hướng dẫn này, tôi trình bày các bạn cách gửi email từ gmail trong MVC 4, bạn có thể áp dụng cho MVC 3, MVC 5 hay ASP.NET webform. Kịch bản của chúng ta đó là form liên hệ, phản hồi trên website. Khi một khách hàng viếng thăm và để lại lời nhắn, nó sẽ gửi email về hòm thư của chúng ta thiết lập trước (hoặc gửi thư cảm ơn khách hàng phản hồi – tùy chọn)

Để tìm hiểu thêm về MVC 4, MVC 5 bạn có thể tải về 2 cuốn ebook tại đây. Sách nay nên đọc.

Tóm tắt video:

  • Tạo một dự án mới (New Project)
  • Tạo ContactModel class
  • Tạo EmailService class
  • Tạo SendMail Controller
  • Tạo Form gửi liên hệ
  • Demo kết quả.
  • Áp dụng được cho MVC 3, 4 , 5, ASP.NET webform

Nếu bạn đã hoàn thành theo hướng dẫn mà vẫn gặp khó khăn, hãy tải mã nguồn ứng dụng tại đây: Download

Cảm ơn bạn đọc và phản hồi của bạn luôn được đánh giá cao.

——–

UpdateTrong nhiều trường hợp, các bạn không thể gửi email được. Xin vui lòng đừng bỏ cuộc, hãy đi tìm nguyên nhân & cách khắc phục vấn đề. Đầu tiên sau khi download mã nguồn về, các bạn hay thay đổi thành email của các bạn. Email trong demo của mình đã đổi password, nên chắc chắn không thể gửi được.

Các bạn dùng email của mình. Lưu ý, hiện nay Google đã thay đổi chính sách bảo mật. Các bạn không thể dùng password mà các bạn đăng nhập hàng ngày để gửi email. Thay vào đó google cho phép chúng ta tạo ra một loại password mới, đó là App Passwords. Đầu tiên các bạn truy cập vào đây để tạo 2 lớp bảo mật cho Gmail. Sau đó truy cập vào đây để tạo mới một app password. Các bạn sẽ dùng password này để gửi email. Password này không dùng thay thế password hiện tại. Nên bạn không thể dùng để đăng nhập Gmail.

Chúc các bạn thành công.

Pro ASP.NET MVC 4, 4th Edition

Pro ASP.NET MVC 4
Pro ASP.NET MVC 4

The ASP.NET MVC 4 Framework is the latest evolution of Microsoft’s ASP.NET web platform. It provides a high-productivity programming model that promotes cleaner code architecture, test-driven development, and powerful extensibility, combined with all the benefits of ASP.NET.

ASP.NET MVC 4 contains a number of significant advances over previous versions. New mobile and desktop templates (employing adaptive rendering) are included together with support for jQuery Mobile for the first time. New display modes allow your application to select views based on the browser that’s making the request while Code Generation Recipes for Visual Studio help you auto-generate project-specific code for a wide variety of situtations including NuGet support.

In this fourth edition, the core model-view-controller (MVC) architectural concepts are not simply explained or discussed in isolation, but are demonstrated in action. You’ll work through an extended tutorial to create a working e-commerce web application that combines ASP.NET MVC with the latest C# language features and unit-testing best practices. By gaining this invaluable, practical experience, you’ll discover MVC’s strengths and weaknesses for yourself—and put your best-learned theory into practice.

The book’s authors, Steve Sanderson and Adam Freeman, have both watched the growth of ASP.NET MVC since its first release. Steve is a well-known blogger on the MVC Framework and a member of the Microsoft Web Platform and Tools team. Adam started designing and building web applications 15 years ago and has been responsible for some of the world’s largest and most ambitious projects. You can be sure you are in safe hands.

What you’ll learn

  • Gain a solid architectural understanding of ASP.NET MVC 4, including basic MVC
  • Explore the entire ASP.NET MVC Framework
  • Learn what’s new in version 4 and how how best to apply these new features
  • See how MVC and test-driven development work in action
  • Capitalize on your existing knowledge quickly and easily through comparison of features in classic ASP.NET to those in ASP.NET MVC

Who this book is for

This book is for web developers with a basic knowledge of ASP.NET and C# who want (or need) to start using the new ASP.NET MVC 4 Framework.

Book Details

Publisher: Apress
By: Adam Freeman
ISBN: 978-1-4302-4236-9
Year: 2012
Pages: 756
Language: English
File size: 24.8 MB
File format: PDF
Download

Table of Contents

1. What’s The Big Idea
2. Your first MVC Application
3. The MVC Pattern
4. Essential Language Features
5. Working with Razor
6. Essential Tools for MVC
7. Sports Store: A Real Application
8. Sports Store: Navigation
9. Sports Store: Cart
10. Sports Store: Admin
11. Sports Store: Security and Finishing Touches
12. Overview of MVC Projects
13. URL Routing
14. Advanced Routing Features
15. Controllers and Actions
16. Filters
17. Controller Extensbility
18. Views
19. Helper Methods
20. Templated Helper Methods
21. URL and Ajax Helper Methods
22. Model Binding
23. Model Validation
24. Bundles and Display Modes
25. Web API
26. Deployment

Download

ASP.NET MVC3 Vs MVC4 Vs MVC5

In this ASP.NET MVC tutorial, we will have a quick look into new and important features introduced in major versions of Microsoft ASP.NET MVC starting from MVC 3 to MVC 5 (the latest one so far).

ASP.NET MVC 3 Vs ASP.NET  MVC 4 Vs ASP.NET MVC 5
Building your ASP.NET MVC Application using Entity Framework

ASP.NET MVC 3

  • New Project Templates having support for HTML 5 and CSS 3.
  • Improved Model validation.
  • Razor View Engine introduced with a bundle of new features.
  • Having support for Multiple View Engines i.e. Web Forms view engine, Razor or open source.
  • Controller improvements like ViewBag property and ActionResults Types etc.
  • Unobtrusive JavaScript approach.
  • Improved Dependency Injection with new IDependencyResolver.
  • Partial page output caching.

ASP.NET MVC 4

  • ASP.NET Web API, a framework that simplifies the creation of HTTP services and serving a wide range of clients. Follow to create your first ASP.NET Web API service.
  • Adaptive rendering and other look-n-feel improvements to Default Project Templates.
  • A truly Empty Project Template.
  • Based on jQuery Mobile, new Mobile Project Template introduced.
  • Support for adding controller to other project folders also.
  • Task Support for Asynchronous Controllers.
  • Controlling Bundling and Minification through web.config.
  • Support for OAuth and OpenID logins using DotNetOpenAuth library.
  • Support for Windows Azure SDK 1.6 and new releases.

ASP.NET MVC 5

Creating your first ASP.NET MVC 5 Application in 4 simple steps
  • Bootstrap replaced the default MVC template.
  • ASP.NET Identity for authentication and identity management.
  • Authentication Filters for authenticating user by custom or third-party authentication provider.
  • With the help of Filter overrides, we can now override filters on a method or controller.
  • Attribute Routing is now integrated into MVC 5.
Hopefully, this article will help you in comparing core features of ASP.NET MVC in different versions.

Nguồn: Web Development Tutorial

Pro ASP.Net MVC 5, 5th edition

The ASP.NET MVC 5 Framework is the latest evolution of Microsoft’s ASP.NET web platform. It provides a high-productivity programming model that promotes cleaner code architecture, test-driven development, and powerful extensibility, combined with all the benefits of ASP.NET.
mvc5
ASP.NET MVC 5 contains a number of advances over previous versions, including the ability to define routes using C# attributes and the ability to override filters. The user experience of building MVC applications has also been substantially improved. The new, more tightly integrated, Visual Studio 2013 IDE has been created specifically with MVC application development in mind and provides a full suite of tools to improve development times and assist in reporting, debugging and deploying your code.

The popular Bootstrap JavaScript library has also now been included natively within MVC 5 providing you, the developer, with a wider range of multi-platform CSS and HTML5 options than ever before without the penalty of having to load-in third party libraries.

What you’ll learn

  • Gain a solid architectural understanding of ASP.NET MVC 5
  • Explore the entire ASP.NET MVC Framework as a cohesive whole
  • Learn what’s new in version 5 and how best to apply these new features to your own work
  • See how MVC and test-driven development work in action
  • Capitalize on your existing knowledge quickly and easily through comparison of features in classic ASP.NET to those in ASP.NET MV

Who this book is for

This book is for web developers with a basic knowledge of ASP.NET and C#who want, or need, to start using the new ASP.NET MVC 5 Framework.

Download

Table of Contents

Part I: Introducing ASP.NET MVC 5

1. What’s The Big Idea

2. Your first MVC Application

3. The MVC Pattern

4. Essential Language Features

5. Working with Razor

6. Essential Tools for MVC

7. Sports Store: A Real Application

8. Sports Store: Navigation

9. Sports Store: Cart

10. Sports Store: Mobile

11. Sports Store: Admin

12. Sports Store: Security and Finishing Touches

13. Deployment

Part II: ASP.NET MVC 5 In Detail

14. Overview of MVC5 Projects

15. URL Routing

16. Advanced Routing Features

17. Controllers and Actions

18. Filters

19. Controllers Extensibility

20. Views

21. Helper Methods

22. Templated Helper Methods

23. URL and Ajax Helper Meothods

24. Model Binding

25. Model Validation

26. Bundles

27. WebAPI and Single Page Applications

Download

Sử dụng LINQ Range để Bind dữ liệu vào DropDownList

Trong lập trình web app hay là bất kỳ app có giao diện người dùng chúng ta thường hay gặp control chứa dữ liệu để người dùng lựa chọn. Đó là DropdownList trong ASP.NET, (select trong html) hay combobox trong desktop app. Spiner đối với android… Tuy tên gọi là khác nhau, nhưng chức năng là không khác bao nhiêu cả. Nó cho phép chúng ta chọn giá trị xổ xuống, như ngày tháng năm chẳng hạn.

Khi bạn tạo DropDownList để chứa ngày tháng (riêng biệt) bạn thường dùng vòng lặp For để thực hiện chúng rồi Bind vào DropDownList. Tuy nhiên với LINQ Range Operator bạn có thể tạo chúng ra đơn giản như sau mà không cần dùng đến vòng lặp.

B1: Bạn có 3 DropDownList để chứa các trường Ngày,Tháng,Năm…

 
Ngày


Tháng


Năm


 

B2: Bạn dùng LINQ Range để Bind ngày tháng vào DropDownList

C#
 
 potected void Page_Load(object sender, EventArgs e)
{
    if (IsPostBack) return;
    DropDownList1.DataSource = Enumerable.Range(1900, (DateTime.Now.Year - 1900)+1);
    DropDownList1.DataBind();
 
    DropDownList2.DataSource = Enumerable.Range(1, 31);
    DropDownList2.DataBind();
 
    DropDownList3.DataSource = Enumerable.Range(1, 12);
    DropDownList3.DataBind();
}

Chúc các bạn thành công.

Download Or Save Image File From URL

Hướng dẫn này cho phép bạn có thể download một file ((image,video,zip,pdf,doc,xls,ect) từ một đường dẫn url trên website khác, lưu vào ổ cứng hoặc server của bạn. Demo dưới đây viết bằng ASP.NET C#, sẽ lấy ảnh theo đường dẫn http://tuanitpro.com/wp-content/uploads/2014/09/cardvisit.jpg sau đó lưu và thư mục được chỉ định (thư mục Uploads)

Code

void GetFileFromUrl(string fileName, string url)
    {
        byte[] content;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        WebResponse response = request.GetResponse();

        Stream stream = response.GetResponseStream();
        using (BinaryReader reader = new BinaryReader(stream))
        {
            content = reader.ReadBytes(500000);
            reader.Close();
        }
        response.Close();
        FileStream fs = new FileStream(fileName, FileMode.Create);
        BinaryWriter bw = new BinaryWriter(fs);
        try
        {
            bw.Write(content);

        }
        finally
        {
            bw.Close();
            fs.Close();
        }
    }

Code Button Download

 protected void Button1_Click(object sender, EventArgs e)
    {
        string url = "http://tuanitpro.com/wp-content/uploads/2014/09/cardvisit.jpg";
        string fileName = Server.MapPath("~/Uploads") + "\\mylogo.jpg";
        GetFileFromUrl(fileName, url);

        Response.Write("The file has been saved at: " + fileName);
    }