Trong phần này, bạn sẽ tìm hiểu về Controller trong ASP.NET MVC.
Controller trong kiến trúc MVC xử lý mọi URL yêu cầu đến. Controller là một lớp, xuất phát từ lớp cơ sở System.Web.Mvc.Controller
.
Lớp controller chứa các phương thức public gọi là các phương thức hành động (action method).
Controller và phương thức hành động của nó xử lý các yêu cầu đến từ trình duyệt, lấy dữ liệu model cần thiết và trả về các phản hồi thích hợp.
Trong ASP.NET MVC, mọi tên lớp của controller phải kết thúc bằng từ “Controller” – đây là quy định bắt buộc.
Ví dụ: Controller cho trang chủ phải là HomeController và Controller cho sinh viên phải là StudentController. Ngoài ra, mỗi lớp controller phải được đặt trong thư mục Controllers của cấu trúc thư mục dự án ASP.NET MVC.
Thêm một Controller mới trong ASP.NET MVC
Bây giờ, hãy thêm một controller trống mới vào ứng dụng ASP.NET MVC của chúng ta trong Visual Studio.
Trong phần trước, chúng ta đã học cách tạo ứng dụng MVC đầu tiên của mình, ứng dụng đã có sẵn HomeController theo mặc định. Bây giờ, chúng ta sẽ tạo một controller mới là StudentController.
Tips: ASP.NET MVC sẽ đưa ra lỗi “The resource cannot be found” khi bạn không thêm từ “Controller” vào sau tên lớp của controller.
Trong Visual Studio, nhấp chuột phải vào thư mục Controllers -> chọn Add -> nhấp vào Controller..
Điều này sẽ mở hộp thoại Add Scaffold như dưới đây.
Ghi chú: Scaffold là một khung tạo mã tự động cho các ứng dụng web ASP.NET MVC. Scaffold giúp tiết kiệm thời gian bằng cách tự động tạo controller, view, v.v. trong ASP.NET MVC. Bạn có thể tạo scaffold tùy chỉnh bằng cách sử dụng các mẫu T4 theo nhu cầu của bạn.
Hộp thoại Add Scaffold chứa các mẫu khác nhau để tạo Controller mới. Chúng ta sẽ tìm hiểu về các mẫu khác sau.
Bây giờ hãy chọn “MVC 5 Controller – Empty” và nhấp vào nút Add. Nó sẽ mở hộp thoại Add Controller như hình bên dưới:
Trong hộp thoại Add Controller, nhập tên của controller. Hãy nhớ rằng, tên controller phải kết thúc bằng Controller. Hãy nhập StudentController và bấm nút Add.
Điều này sẽ tạo lớp StudentController có sẵn phương thức hành động Index trong tập tin StudentController.cs trong thư mục Controllers, như hiển thị trong ví dụ bên dưới.
Như bạn có thể thấy ở trên, lớp StudentController xuất phát từ lớp Controller. Mọi controller trong ASP.NET MVC phải xuất phát từ lớp Controller trừu tượng này.
Lớp Controller cơ sở này chứa các phương thức của trình trợ giúp có thể được sử dụng cho các mục đích khác nhau.
Bây giờ, chúng ta sẽ trả về một chuỗi gì đó từ phương thức hành động Index của StudentController ở trên.
Thay đổi kiểu trả về của phương thức hành động Index từ ActionResult thành string và trả về chuỗi ví dụ được hiển thị trong ví dụ bên dưới. Bạn sẽ tìm hiểu về ActionResult trong phần tiếp theo.
Chúng ta đã xem trong phần định tuyến rằng URL yêu cầu http://localhost/student hoặc http://localhost/student/index được xử lý bởi phương thức hành động Index()
của lớp StudentController được trình bày ở trên.
Vì vậy, hãy nhấn phím F5 để chạy ứng dụng và truy cập nó từ trình duyệt và bạn sẽ thấy trang sau trong trình duyệt.
Những điểm cần nhớ:
- Controller xử lý các URL yêu cầu đến. Định tuyến trong ASP.NET MVC gửi yêu cầu đến phương thức hành động của controller thích hợp dựa trên URL và các tuyến được cấu hình.
- Tất cả các phương thức public trong lớp controller được gọi là phương thức hành động.
- Một lớp controller phải được bắt nguồn từ lớp System.Web.Mvc.Controller.
- Tên lớp controller phải kết thúc bằng “Controller”.
- Controller mới có thể được tạo bằng các mẫu có sẵn khác nhau. Bạn cũng có thể tự tạo mẫu tùy chỉnh theo nhu cầu của mình.
Phương thức hành động
Trong phần này, bạn sẽ tìm hiểu về phương thức hành động (action method) của lớp controller.
Tất cả các phương thức public của lớp controller được gọi là phương thức hành động. Chúng giống như bất kỳ phương thức bình thường nào khác với các hạn chế sau:
- Phương thức hành động phải là public. Nó không thể là private hoặc protected.
- Phương thức hành động không thể có nạp chồng phương thức (quá tải phương thức).
- Phương thức hành động không thể là một phương thức static.
Sau đây là một ví dụ về phương thức hành động Index của StudentController
Như bạn có thể thấy trong hình trên, phương thức Index là một phương thức public và nó trả về ActionResult bằng phương thức View()
. Phương thức View()
được định nghĩa trong lớp cơ sở Controller, trả về ActionResult thích hợp.
Phương thức hành động mặc định
Mọi controller có thể có phương thức hành động mặc định theo tuyến được cấu hình trong lớp RouteConfig.
Theo mặc định, Index là một phương thức hành động mặc định cho bất kỳ controller nào, như cấu hình mặc định được trình bày ở ví dụ bên dưới.
Tuy nhiên, bạn hoàn toàn có thể thay đổi tên phương thức hành động mặc định theo nhu cầu của bạn trong lớp RouteConfig.
ActionResult trong ASP.NET MVC
ASP.NET MVC bao gồm các lớp kết quả khác nhau, có thể được trả về từ một phương thức hành động.
Có các lớp kết quả đại diện cho các loại phản hồi khác nhau, chẳng hạn như: HTML, tập tin, chuỗi, json, javascript, v.v Bảng sau liệt kê tất cả các lớp kết quả có sẵn trong ASP.NET MVC.
Lớp kết quả | Mô tả |
---|---|
ViewResult | Đại diện cho HTML. |
EmptyResult | Đại diện cho không có phản hồi. |
ContentResult | Đại diện cho chuỗi ký tự. |
FileContentResult/ FilePathResult/ FileStreamResult | Đại diện cho nội dung của một file. |
JavaScriptResult | Đại diện cho một tập lệnh JavaScript. |
JsonResult | Đại diện cho JSON có thể được sử dụng trong AJAX. |
RedirectResult | Đại diện cho một chuyển hướng đến một URL mới |
RedirectToRouteResult | Đại diện cho một phương thức hành động khác của cùng hoặc controller khác |
PartialViewResult | Trả về HTML từ Partial View |
HttpUnauthorizedResult | Trả về trạng thái HTTP 403 |
Lớp ActionResult là một lớp cơ sở của tất cả các lớp kết quả ở trên, do đó nó có thể là kiểu trả về của các phương thức hành động trả về bất kỳ loại kết quả nào được liệt kê ở trên. Tuy nhiên, bạn có thể chỉ định lớp kết quả phù hợp làm kiểu trả về của phương thức hành động.
Phương thức Index()
của StudentController trong hình trên sử dụng phương thức View()
để trả về ViewResult (được kế thừa từ ActionResult). Phương thức View()
được định nghĩa trong lớp Controller cơ sở. Nó cũng chứa các phương thức khác nhau, tự động trả về loại kết quả cụ thể như được hiển thị trong bảng dưới đây.
Lớp kết quả | Mô tả | Phương thức trong lớp Controller |
---|---|---|
ViewResult | Đại diện cho HTML. | View() |
EmptyResult | Đại diện cho không có phản hồi. | |
ContentResult | Đại diện cho chuỗi ký tự. | Content() |
FileContentResult, FilePathResult, FileStreamResult |
Đại diện cho nội dung của một file | File() |
JavaScriptResult | Đại diện cho một tập lệnh JavaScript. | JavaScript() |
JsonResult | Đại diện cho JSON có thể được sử dụng trong AJAX | Json() |
RedirectResult | Đại diện cho một chuyển hướng đến một URL mới | Redirect() |
RedirectToRouteResult | Đại diện cho một hành động khác của cùng hoặc khác controller | RedirectToRoute() |
PartialViewResult | Trả về HTML của Partial View | PartialView() |
HttpUnauthorizedResult | Trả về trạng thái HTTP 403 |
Như bạn có thể thấy trong bảng trên, phương thức View()
trả về ViewResult, Phương thức Content()
trả về chuỗi, phương thức File()
trả về nội dung của tập tin, v.v.
Bạn có thể sử dụng các phương thức khác nhau được đề cập trong bảng trên để trả về các loại kết quả khác nhau từ một phương thức hành động.
Tham số của phương thức hành động
Mỗi phương thức hành động có thể có các tham số đầu vào như các phương thức bình thường. Nó có thể là kiểu dữ liệu nguyên thủy hoặc kiểu dữ liệu phức tạp như trong ví dụ dưới đây.
Xin lưu ý rằng tham số phương thức hành động có thể là kiểu Nullable.
Theo mặc định, các giá trị cho tham số của phương thức hành động được lấy từ tập dữ liệu của yêu cầu.
Tập dữ liệu bao gồm các cặp name/values cho form data hoặc các giá trị query string hoặc các giá trị cookie.
Model binding trong ASP.NET MVC tự động ánh xạ chuỗi truy vấn URL hoặc thu thập dữ liệu biểu mẫu thành các tham số của phương thức hành động nếu cả hai có tên khớp nhau. Truy cập phần model binding để biết thêm thông tin về nó.
Những điểm cần nhớ:
- Tất cả các phương thức public trong lớp Controller được gọi là phương thức hành động.
- Phương thức hành động có những hạn chế sau.
– Phương thức hành động phải được public. Nó không thể là private hoặc protected.
– Phương thức hành động không thể có quá tải phương thức.
– Phương thức hành động không thể là phương thức static. - ActionResult là một lớp cơ sở của tất cả các kiểu kết quả trả về từ phương thức hành động.
- Lớp Controller cơ sở chứa các phương thức trả về kiểu kết quả phù hợp, ví dụ: View(), Content(), File(), JavaScript(), v.v.
- Phương thức hành động có thể có các tham số kiểu Nullable.
Bộ chọn hành động
Bộ chọn hành động là thuộc tính có thể được áp dụng cho các phương thức hành động. Nó giúp công cụ định tuyến chọn phương thức hành động chính xác để xử lý một yêu cầu cụ thể. MVC 5 bao gồm các thuộc tính bộ chọn hành động sau:
- ActionName
- NonAction
- ActionVerbs
Thuộc tính ActionName
Thuộc tính ActionName cho phép chúng ta chỉ định một tên hành động khác với tên phương thức. Hãy xem xét ví dụ sau.
Trong ví dụ trên, chúng tôi đã áp dụng thuộc tính ActioName("find")
cho phương thức hành động GetById. Vì vậy, bây giờ, tên hành động là “find” thay vì “GetById”.
Phương thức hành động này sẽ được gọi khi URL là http://localhost/student/find/1 thay vì http://localhost/student/getbyid/1.
Thuộc tính NonAction
Thuộc tính NonAction chỉ định phương thức public của controller không phải là phương thức hành động.
Sử dụng thuộc tính NonAction khi bạn muốn phương thức public trong controller nhưng không muốn coi nó là phương thức hành động.
Ví dụ, phương thức public GetStudent()
không thể được gọi giống như là một phương thức hành động trong ví dụ sau.
Thuộc tính ActionVerbs
Thuộc tính ActionVerbs được sử dụng khi bạn muốn kiểm soát việc lựa chọn phương thức hành động dựa trên phương thức HTTP của yêu cầu.
Ví dụ: bạn có thể định nghĩa hai phương thức hành động khác nhau có cùng tên nhưng một phương thức hành động đáp ứng yêu cầu HTTP GET và phương thức hành động khác đáp ứng yêu cầu HTTP POST.
ASP.NET MVC hỗ trợ các ActionVerbs khác nhau, chẳng hạn như HttpGet, HttpPost, HttpPut, HttpDelete, HttpOptions và HttpPatch.
Bạn có thể áp dụng các thuộc tính này cho phương thức hành động để chỉ ra phương thức HTTP của yêu cầu mà phương thức hành động hỗ trợ.
Nếu bạn không áp dụng bất kỳ thuộc tính nào thì nó sẽ coi đó là một yêu cầu GET theo mặc định.
Hình dưới đây minh họa các động từ hành động HttpGET và HttpPOST.
Bảng sau liệt kê việc sử dụng các phương thức http:
Phương thức HTTP | Sử dụng |
---|---|
GET | Để lấy thông tin từ máy chủ. Các tham số sẽ được nối vào chuỗi truy vấn. |
POST | Để tạo một tài nguyên mới. |
PUT | Để cập nhật một tài nguyên hiện có. |
HEAD | Giống như GET ngoại trừ máy chủ không trả về message body. |
OPTIONS | Đại diện một yêu cầu cung cấp thông tin về các tùy chọn liên lạc được máy chủ web hỗ trợ. |
DELETE | Để xóa một tài nguyên hiện có. |
PATCH | Để cập nhật đầy đủ hoặc một phần tài nguyên. |
Truy cập W3.org để biết thêm thông tin về các phương thức HTTP.
Ví dụ sau đây cho thấy các phương thức hành động khác nhau hỗ trợ các ActionVerbs khác nhau:
Bạn cũng có thể áp dụng nhiều phương thức HTTP bằng thuộc tính AcceptVerbs. Trong ví dụ sau phương thức GetAndPostAction hỗ trợ cả hai phương thức HTTP GET và HTTP POST:
Những điểm cần nhớ:
- Công cụ định tuyến ASP.NET MVC sử dụng các thuộc tính bộ chọn hành động để xác định phương thức hành động nào cần gọi.
- Ba thuộc tính bộ chọn hành động có sẵn trong MVC 5 là:
– ActionName
– NonAction
– ActionVerbs - Thuộc tính ActionName được sử dụng để chỉ định tên hành động khác với tên phương thức.
- Thuộc tính NonAction đánh dấu phương thức public của lớp controller không phải là phương thức hành động.
- Thuộc tính ActionVerbs chọn phương thức hành động dựa trên các phương thức HTTP của yêu cầu, ví dụ: POST, GET, PUT, v.v.
- Nhiều phương thức hành động có thể có cùng tên với các ActionVerbs khác nhau. Quy tắc quá tải phương pháp được áp dụng.
- Nhiều ActionVerbs có thể được áp dụng cho một phương thức hành động bằng cách sử dụng thuộc tính AcceptVerbs.
Contra spem spero — Без надежды надеюсь.
http://batmanapollo.ru
How to track the location of the other person’s phone without their knowledge? You will be able to track and monitor text messages, phone calls, location history and much more. Free Remote Tracking and Recording of Husband’s Phone Cell Phone Spy. Best Apps to Download for Free to Spy on Another Phone. https://www.xtmove.com/
Your article helped me a lot, is there any more related content? Thanks!
Temp mail You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
buy lasuna paypal – cheap lasuna tablets himcolin order online
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
Temp mail Nice post. I learn something totally new and challenging on websites
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
gabapentin drug – order sulfasalazine 500mg generic sulfasalazine for sale
besifloxacin price – carbocisteine order online order sildamax pills
ремонт iphone с выездом мастера в москве
startup talky very informative articles or reviews at this time.
ближайший ремонт телефонов
probenecid 500mg price – buy tegretol 400mg for sale buy generic tegretol over the counter
celebrex online buy – buy celebrex generic indomethacin for sale online
Techno rozen You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
ремонт тв выездом
Профессиональный сервисный центр по ремонту сотовых телефонов, смартфонов и мобильных устройств.
Мы предлагаем: сервисы по ремонту телефонов
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту ноутбуков, макбуков и другой компьютерной техники.
Мы предлагаем:ремонт макбук москва
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту квадрокоптеров и радиоуправляемых дронов.
Мы предлагаем:ремонт дрона
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту ноутбуков, imac и другой компьютерной техники.
Мы предлагаем:вызвать мастера по ремонту аймаков
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
buy generic mebeverine for sale – buy mebeverine 135mg for sale cilostazol without prescription
Профессиональный сервисный центр по ремонту ноутбуков и компьютеров.дронов.
Мы предлагаем:срочный ремонт ноутбуков в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
order diclofenac 100mg without prescription – buy generic aspirin for sale buy aspirin 75 mg generic
ремонт эппл
Hello, Jack speaking. I’ve bookmarked your site and make it a habit to check in daily. The information is top-notch, and I appreciate your efforts.
Nice blog here! Also your web site loads up very fast!
Fakultas Informatika
ремонт эппл вотч
Профессиональный сервисный центр по ремонту холодильников и морозильных камер.
Мы предлагаем: мастера по ремонту холодильников
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту планетов в том числе Apple iPad.
Мы предлагаем: вызвать мастера по ремонту ipad
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту ноутбуков и компьютеров.дронов.
Мы предлагаем:ремонт ноутбуков
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем:сервис центры бытовой техники петербург
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт бытовой техники
Профессиональный сервисный центр по ремонту радиоуправляемых устройства – квадрокоптеры, дроны, беспилостники в том числе Apple iPad.
Мы предлагаем: ремонт квадрокоптеров
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – сервис центр в екатеринбурге
Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт бытовой техники
Если вы искали где отремонтировать сломаную технику, обратите внимание – сервис центр в новосибирске
мастер по ремонту телевизоров москва
Профессиональный сервисный центр по ремонту Apple iPhone в Москве.
Мы предлагаем: ремонт айфона на дому в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
ближайший ремонт смартфонов
Профессиональный сервисный центр по ремонту источников бесперебойного питания.
Мы предлагаем: ремонт бесперебойника
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт техники в барнауле
Если вы искали где отремонтировать сломаную технику, обратите внимание – техпрофи
Профессиональный сервисный центр по ремонту варочных панелей и индукционных плит.
Мы предлагаем: сервис варочных панелей
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем:ремонт бытовой техники в екб
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
purchase pyridostigmine online – cost imuran buy imuran 25mg pill
how to buy rumalaya – brand rumalaya purchase elavil
сервис по ремонту фотоаппаратов
Если вы искали где отремонтировать сломаную технику, обратите внимание – профи ремонт
Профессиональный сервисный центр по ремонту фото техники от зеркальных до цифровых фотоаппаратов.
Мы предлагаем: диагностика и ремонт фотоаппаратов
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – тех профи
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем:ремонт крупногабаритной техники в новосибирске
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – сервис центр в казани
Профессиональный сервисный центр по ремонту видео техники а именно видеокамер.
Мы предлагаем: ремонт камер видеонаблюдения
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
ozobax cost – baclofen 25mg tablet piroxicam 20mg us
Если вы искали где отремонтировать сломаную технику, обратите внимание – профи тех сервис красноярск
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем: сервисные центры в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – профи ремонт
Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт цифровой техники новосибирск
diclofenac without prescription – buy nimotop without a prescription purchase nimodipine online
Профессиональный сервисный центр по ремонту стиральных машин с выездом на дом по Москве.
Мы предлагаем: сервисные центры по ремонту стиральных машин
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем: сервис центры бытовой техники казань
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт бытовой техники в перми
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем: сервисные центры по ремонту техники в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Если вы искали где отремонтировать сломаную технику, обратите внимание – ремонт бытовой техники в ростове на дону
Профессиональный сервисный центр по ремонту игровых консолей Sony Playstation, Xbox, PSP Vita с выездом на дом по Москве.
Мы предлагаем: ремонт игровых консолей в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту компьютерных видеокарт по Москве.
Мы предлагаем: ремонт видеокарт gigabyte в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту фототехники в Москве.
Мы предлагаем: купить в москве фотовспышку дешево
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Подробнее на сайте сервисного центра remont-vspyshek-realm.ru
Профессиональный сервисный центр по ремонту компьютероной техники в Москве.
Мы предлагаем: лучшие сервисы по ремонту компьютеров
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
generic periactin 4mg – buy cheap tizanidine oral tizanidine
Профессиональный сервисный центр по ремонту компьютерных блоков питания в Москве.
Мы предлагаем: ремонт источников питания
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Наткнулся на замечательный интернет-магазин, специализирующийся на раковинах и ваннах. Решил сделать ремонт в ванной комнате и искал качественную сантехнику по разумным ценам. В этом магазине нашёл всё, что нужно. Большой выбор раковин и ванн различных типов и дизайнов.
Особенно понравилось, что они предлагают купить раковину цена. Цены доступные, а качество продукции отличное. Консультанты очень помогли с выбором, были вежливы и профессиональны. Доставка была оперативной, и установка прошла без нареканий. Очень доволен покупкой и сервисом, рекомендую!
Хочу поделиться своим опытом ремонта телефона в этом сервисном центре. Остался очень доволен качеством работы и скоростью обслуживания. Если ищете надёжное место для ремонта, обратитесь сюда: ремонт андроид-телефонов.
<a href=”https://remont-kondicionerov-wik.ru”>сколько стоит ремонт кондиционера</a>
Профессиональный сервисный центр по ремонту кондиционеров в Москве.
Мы предлагаем: диагностика и ремонт кондиционеров в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту моноблоков в Москве.
Мы предлагаем: замена экрана моноблока
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту гироскутеров в Москве.
Мы предлагаем: мастер по ремонту гироскутеров
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
how to get prednisone without a prescription – buy permethrin online zovirax online order
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем: ремонт бытовой техники в тюмени
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту планшетов в том числе Apple iPad.
Мы предлагаем: срочный ремонт айпада
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту посудомоечных машин с выездом на дом в Москве.
Мы предлагаем: ремонт посудомойки москва
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту МФУ в Москве.
Мы предлагаем: где можно отремонтировать мфу в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту принтеров в Москве.
Мы предлагаем: ремонт принтеров на дому в москве
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту плоттеров в Москве.
Мы предлагаем: профессиональный ремонт плоттеров
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Сервисный центр предлагает ремонт игровой приставки xbox рядом стоимость ремонта игровой приставки xbox
Профессиональный сервисный центр по ремонту серверов в Москве.
Мы предлагаем: сколько длится обслуживание сервера
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем:сервисные центры по ремонту техники в уфе
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту объективов в Москве.
Мы предлагаем: ремонт объективов
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
buy betamethasone for sale – buy monobenzone paypal buy monobenzone cheap
Профессиональный сервисный центр по ремонту сигвеев в Москве.
Мы предлагаем: срочный ремонт сигвея
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Профессиональный сервисный центр по ремонту сетевых хранилищ в Москве.
Мы предлагаем: надежный сервис ремонта сетевых хранилищ
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
В магазине сейфов предлагают сейф купить в москве купить сейф
В магазине сейфов предлагают сейфы 2 класса сейфы 2 класса
Профессиональный сервисный центр ремонт телефонов поблизости ремонт телефона рядом
Профессиональный сервисный центр по ремонту бытовой техники с выездом на дом.
Мы предлагаем: ремонт крупногабаритной техники в волгограде
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!
Тут делают продвижение seo медицина продвижение клиники
Тут делают продвижение разработка сайта для медицинского центра создание медицинского сайта под ключ
Профессиональный сервисный центр по ремонту планшетов в Москве.
Мы предлагаем: сервис по ремонту планшетов
Наши мастера оперативно устранят неисправности вашего устройства в сервисе или с выездом на дом!