Category Archives: এ এস পি . নেট এম ভি সি । ASP.Net MVC

এ এস পি . নেট এম ভি সি । ASP.Net MVC

এএসপি ডট নেট এমভিসি ASP.NET MVC কন্ট্রোলার

রিদওয়ান বিন শামীম
এএসপি ডট নেট এমভিসিতে কন্ট্রোলার যোগ করতে যে প্রক্রিয়া প্রয়োজন তা অনেকটা এরকম, প্রথমে কন্ট্রোলার ফোল্ডার তৈরি করতে হবে। কন্ট্রোলার ফোল্ডারে কন্ট্রোলার ক্লাসেস (controller classes) থাকে, যা ব্যবহারকারীর ইনপুট ও রেসপন্স নির্ধারণ করে। MVC তে সব কন্ট্রোলারের নামের শেষে "Controller"এক্সটেনশন থাকতে হয়। উদাহরণ স্বরূপ বলা যায়
ভিজুয়াল ওয়েব ডেভলপাররা কোন ফাইল তৈরি করলে : হোমপেজ ও এবাউট পেজের নাম দেবে HomeController.cs এবং লগ অন পেজের নাম দেবে AccountController.cs । যেটা সার্ভারের ডিফল্ট ডিরেক্টরিতে "default.asp" নামে দেখানো হবে। কিন্তু MVC framework এ কন্ট্রোলার ক্লাসের মাধ্যমে এই কাজটি করা হয়। কন্ট্রোলার দ্বারা ডাটা, রিকুয়েস্ট, ইনপুট ও রেসপন্স নির্ধারণ করা হয়। হোম কন্ট্রোলার ফাইল ইনডেক্স ও এবাউট কন্ট্রোলদুটি ঠিক রাখে। HomeController.cs ফাইল যে ধরণের কোড ব্যবহার করে তা নিচে দেয়া হল। using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace MvcDemo.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{return View();}

public ActionResult About()
{return View();}
}
}
ভিউ ফোল্ডারের Index.cshtml এবং About.cshtml ফাইল গুলো কন্ট্রোলারের ActionResult views Index() এবং About() in the controller ইত্যাদি নির্দেশ করে।

ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করা । ASP.NET MVC – Publishing the Website

ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করা

কি খবর সবার? সবাই ভালতো? আজ আমি অনেক গুরুত্বপুর্ণ একটা বিষয় নিয়ে বিস্তারিত আলোচনা করবো ।হ্যাঁ আজ আমরা দেখব কীভাবে ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করা যায় ।

ভিসুয়াল ওয়েব ডেভেলপার ব্যবহার না করে আবেদন প্রকাশ করাঃ/Publish Your Application Without Using Visual Web Developer
একটি ASP.NET MVC আবেদন Webmatrix , ভিসুয়াল ওয়েব ডেভেলপার বা ভিসুয়াল স্টুডিও কমান্ড ব্যবহার করে একটি দূরবর্তী সার্ভারে(remote server) প্রকাশ করা যায়।
এই ফাংশন কপি আপনার সব MVC , ওয়েব পেজ, razor , সাহায্যকারী , এবং ( একটি ডাটাবেস ব্যবহার করা হয় ) এসকিউএল সার্ভার কম্প্যাক্ট যা আপনার সব আবেদন ফাইল , কন্ট্রোলার , মডেল , ছবি, এবং সমস্ত আবশ্যক ডিএলএল ফাইল কপি করে।
আবার কখনও কখনও আপনি এই অপশনটি ব্যবহার করতে নাও চাইতে পারেন। কারণ হিসেবে বলতে পারি, হয়তো আপনার হোস্টিং প্রদানকারী শুধুমাত্র FTP সমর্থন করে? বা, হতে পারে আপনার ইতিমধ্যে ক্লাসিক এএসপি এর উপর করে একটি ওয়েব সাইট আছে ? বা, হতে পারে আপনি ফাইল নিজের জন্য কপি করতে চাইছেন ? আবার এও হতে পারে, যে আপনি প্রথম পাতা, এক্সপ্রেশন ওয়েব বা অন্য কিছু প্রকাশনা সফটওয়্যার ব্যবহার করতে চান?
আপনি কী কোন সমস্যায় আছেন? যদি হ্যাঁ হয়। তাহলে চিন্তা করার কিছু নেই। আপনি তা সমাধান করতে পারবেন।

একটি ওয়েব কপি সঞ্চালনের জন্য , আপনাকে জানতে হবে কিভাবে সঠিক ফাইল অন্তর্ভুক্ত করতে হয়, কোন DDL ফাইল কপি এবং কোথায় তাদের সঞ্চয় করে রাক্তে হবে।
নিচের পদক্ষেপগুলি অনুসরণ করুন :
1. ASP.NET এর সর্বশেষ সংস্করণ ব্যবহার করুনঃ/1. Use the Latest Version of ASP.NET
ASP.NET ব্যবহার করার আগে, নিশ্চিত করুন আপনার হোস্টিং কম্পিউটার এ ASP.NET এর সর্বশেষ সংস্করণ (4.0) রান করা আছে.

2. কপি ওয়েব ফোল্ডার/2. Copy the Web Folders
আপনার development কম্পিউটার থেকে আপনার ওয়েবসাইট ( সব ফোল্ডার এবং কন্টেন্ট) আপনার দূরবর্তী(remote) হোস্টিং কম্পিউটার (সার্ভার) এ একটি অ্যাপ্লিকেশন ফোল্ডারে কপি করুন। আপনার App_Data ফোল্ডার পরীক্ষা তথ্য ধারণ করে (test data), App_Data ফোল্ডারে কপি করবেন না (নিচে এসকিউএল তথ্য দেখুন)

3. এখন DLL ফাইলটি কপি করুন/3. Copy the DLL Files
দূরবর্তী সার্ভারে আপনার আবেদন root- র মধ্যে একটি বিন ফোল্ডার তৈরি করুন (যদি আপনার সাহায্যকারী ইনস্টল করা থকে , তাহলে আপনার ইতিমধ্যে একটি bin ফোল্ডার আছে)
ফোল্ডার থেকে সবকিছু দূরবর্তী সার্ভারে আপনার আবেদন এর bin ফোল্ডারে কপি করুনঃ

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\Assemblies

C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies

4. SQL সার্ভার কম্প্যাক্ট ডিএলএল ফাইল কপি করুন/4. Copy the SQL Server Compact DLL Files

যদি আপনার অ্যাপ্লিকেশন এ একটি SQL সার্ভার কম্প্যাক্ট ডাটাবেস ( App_Data ফোল্ডারে একটি .sdf ফাইল) থাকে, তাহলে আপনাকে এসকিউএল সার্ভার কম্প্যাক্ট ডিএলএল ফাইল কপি করতে হবে।
আপনার ফোল্ডার থেকে দূরবর্তী সার্ভারে আপনার আবেদন এর bin ফোল্ডারে কপি সবকিছু করুনঃ

C:\Program Files (x86)\Microsoft SQL Server Compact Edition\v4.0\Private

উদাহরণঃ
xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.data>
<DbProviderFactories>
<remove invariant="System.Data.SqlServerCe.4.0" />

<add invariant="System.Data.SqlServerCe.4.0"
name="Microsoft SQL Server Compact 4.0"
description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.1,Culture=neutral, PublicKeyToken=89845dcd8080cc91" />

</DbProviderFactories>
</system.data>
</configuration>

5 . এবার এসকিউএল সার্ভার ডেটা কম্প্যাক্ট কপি করুন/5. Copy SQL Server Compact Data

App_Data ফোল্ডারে যা test data ধারণ করে সেখানে কি .sdf কোন ফাইল আছে?
আপনি কি দূরবর্তী সার্ভারে test data প্রকাশ করতে চান?
সম্ভবত না ।
যদি আপনি এসকিউএল ডাটা ফাইল ( .sdf ফাইল) কপি করুন , তাহলে আপনি ডাটাবেসের মধ্যে সবকিছু মুছে দিন, এবং তারপর সার্ভার আপনার উন্নয়ন কম্পিউটার থেকে empty .sdf ফাইল কপি করুন ।

দেখছেন তো? খুব মজার তাই না। সবাই ভাল থাকুন। আজ এই পর্যন্তই। আর কোথাও না বুঝতে পারলে কমেন্ট করতে ভুলবেন না কিন্তু ।

এসএসপিডটনেট এমভিসি – এইচটিএমএল হেল্পার . ASP.NET MVC – HTML Helpers

এসএসপিডটনেট এমভিসি - এইচটিএমএল হেল্পার
Sheikh Mahfuzur Rahman
Bangla Word: 250

এইচটিএমএল আউটপুটকে পরিবর্তন করতে এইচটিএমএল হেল্পারগুলো ব্যবহৃত হয়।

এইচটিএমএল হেল্পার/HTML Helpers

এমভিসি'তে এইচটিএমএল হেল্পারগুলো হলো অনেকটা গতানুগতিক ASP.NET ওয়েব ফর্ম কন্ট্রোলের মতো। ASP.NET তে ঠিক ওয়েব ফর্ম কন্ট্রোলের মতো এইচটিএমএল'কে মডিফাই করতে এইচটিএমএল হেল্পারগুলো ব্যবহৃত হয়। কিন্তু এইচটিএমএল হেল্পারগুলো আরও হালকা হয়ে থাকে।। ওয়েব ফর্ম কন্ট্রোলের মতো এইচটিএমএল হেল্পারগুলোর ইভেন্ট মডেল এবং ভিউ স্টেট নেই। বেশিরভাগ ক্ষেত্রে, এইচটিএমএল হেল্পার হলো একটি মেথড যা স্ট্রিং ( যেমন টেক্সট) ফেরত দেয়। এমভিসি'র মাধ্যমে আপনি আপনার নিজের হেল্পার তৈরি করতে পারবেন অথবা বিল্ট ইন এইচটিএমএল হেল্পার ব্যবহার করতে পারবেন।

স্ট্যান্ডার্ড এইচটিএমএল হেল্পার/Standard HTML Helpers

এমভিসি সবচেয়ে পরিচিত এইচটিএমএল এলিমেন্টগুলোর জন্য স্ট্যান্ডার্ড হেল্পার অন্তর্ভূক্ত করেছে, যেমন এইচটিএমএল লিংক ও এইচটিএমএল ফর্ম এলিমেন্টসমূহ।

এইচটিএমএল লিংক/HTML Links

একটি এইচটিএমএল লিংককে পরিচালনা ( render ) করার সবচেয়ে সহজ পথ হলো HTML.ActionLink() হেল্পার ব্যবহার করা। এমভিসি'র মাধ্যমে Html.ActionLink() কোন ভিউয়ের দিকে লিংক তৈরি করেনা। এটি একটি কন্ট্রোলার অ্যাকশানের দিকে লিংক তৈরি করে।

Razor Syntax:
@Html.ActionLink("About this Website", "About")
ASP Syntax:
<%=Html.ActionLink("About this Website", "About")%>

প্রথম প্যারামিটারটি হলো লিংক টেক্সট এবং দ্বিতীয় প্যারামিটারটি হলো কন্ট্রোলার অ্যাকশানের নাম।
উপরের Html.ActionLink() হেল্পারটি নিচের এইচটিএমএল'টি আউটপুট হিসেবে ফিরিয়ে দেয়ঃ
<a href="/Home/About">About this Website</a>

Html.ActionLink() হেল্পার এর কিছু সংখ্যক প্রপার্টি রয়েছেঃ

প্রপার্টি এবং ব্যাখ্যা । Properties and Explanations

.linkText লিংক টেক্সট (লেবেল)
.actionName টার্গেট অ্যাকশান

.routeValues অ্যাকশানে যে ভ্যালুগুলো পরিবাহিত (--) হয়

.controllerName টার্গেট কন্ট্রোলার

.htmlAttributes লিংক এর প্রতি অ্যাট্রিবিউটের সেট

.protocol লিংক প্রটোকল

.hostname লিংক এর হোস্ট নেম

.fragment লিংক এর অ্যাংকর টার্গেট

লক্ষ্যণীয়ঃ আপনি ভ্যালুগুলোকে কন্ট্রোলার অ্যাকশানে পাঠিয়ে দিতে পারেন। উদাহরণস্বরূপ, আপনি একটি ডাটাবেজ রেকর্ডের আইডি একটি ডাটাবেজ এডিট অ্যাকশানে পাঠিয়ে দিতে পারেনঃ

Razor Syntax C#:
@Html.ActionLink("Edit Record", "Edit", new {Id=3})
Razor Syntax VB:
@Html.ActionLink("Edit Record", "Edit", New With{.Id=3})

উপরের Html.ActionLink() হেল্পারটি নিচের এইচটিএমএল'টি আউটপুট দেয়ঃ
<a href="/Home/Edit/3">Edit Record</a>

এইচটিএমএল ফর্ম এলিমেন্ট
নিচের এইচটিএমএল হেল্পারগুলো এইচটিএমএল ফর্ম এলিমেন্টগুলোকে রেন্ডার ( মডিফাই এবং আউটপুট ) বা পরিচালনা করতে ব্যবহৃত হয়ঃ

BeginForm()
EndForm()
TextArea()
TextBox()
CheckBox()
RadioButton()
ListBox()
DropDownList()
Hidden()
Password()

ASP.NET Syntax C#:
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<% using (Html.BeginForm()){%>
<p>
FirstName">First Name:
<%= Html.TextBox("FirstName") %>
<%= Html.ValidationMessage("FirstName", "*") %>
</p>
<p>
LastName">Last Name:
<%= Html.TextBox("LastName") %>
<%= Html.ValidationMessage("LastName", "*") %>
</p>
<p>
<label for="Password">Password:</label>
<%= Html.Password("Password") %>
<%= Html.ValidationMessage("Password", "*") %>
</p>
<p>
<label for="Password">Confirm Password:</label>
<%= Html.Password("ConfirmPassword") %>
<%= Html.ValidationMessage("ConfirmPassword", "*") %>
</p>
<p>
<label for="Profile">Profile:</label>
<%= Html.TextArea("Profile", new {cols=60, rows=10})%>
</p>
<p>
<%= Html.CheckBox("ReceiveNewsletter") %>
<label for="ReceiveNewsletter" style="display:inline">Receive Newsletter?</label>
</p>
<p>
<input type="submit" value="Register" />
</p>
<%}%>

এএসপি.নেট এমভিসি সিকিউরিটি . ASP.NET MVC – Models

এএসপি.নেট এমভিসি সিকিউরিটি
Sheikh Mahfuzur Rahman
Bangla word: 75

এএসপি.নেট এমভিসি (ASP.NET MVC) সম্পর্কে শিখতে গিয়ে আমরা একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করছি। আজ এটির অষ্টম পর্ব নিয়ে আলোচনা করা হবে। এর আগের সাতটি পর্ব পড়ে না থাকলে সেগুলো প্রথমে পড়ে নিন।

পর্ব আটঃ সিকিউরিটি যোগ করা

এমভিসি অ্যাপ্লিকেশন সিকিউরিটি

সিকিউরিটি বা নিরাপত্তা যেকোন অ্যাপ্লিকেশনের অন্যতম গুরুত্বপূর্ণ অংশ। আর সেটি যদি ওয়েব অ্যাপ্লিকেশন হয় তাহলে তো কথাই নেই। এমভিসি অ্যাপ্লিকেশনে সিকিউরিটি ফিচার নিয়ে যোগ করার নিয়ম সম্পর্কে নিচে আলোচনা করা হলো।

Models Folder অ্যাপ্লিকেশন মডেলকে যেসব ক্লাস প্রতিনিধিত্ব করে সেগুলো ধারণ করে। ভিজ্যুয়াল ওয়েব ডেভলাপার সয়ংক্রিয়ভাবে একটি AccountModels.cs ফাইল তৈরি করে যা অ্যাপ্লিকেশন অথেনটিকেশনের মডেলগুলো ধারণ করে।

AccountModels একটি LogOnModel, একটি ChangePasswordModel, এবং একটি RegisterModel ধারণ করেঃ

 

ছবিতে দেখুনঃ

http://bangla.salearningschool.com/10.jpg

চেঞ্জ পাসওয়ার্ড মডেল/The Change Password Model

public class ChangePasswordModel
{

[Required]
[DataType(DataType.Password)]
[Display(Name = "Current password")]
public string OldPassword { get; set; }

[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2}      characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "New password")]
public string NewPassword { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm new password")]
[Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }

}

লগঅন মডেল/The Logon Model

public class LogOnModel
{

[Required]
[Display(Name = "User name")]
public string UserName { get; set; }

[Required]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

[Display(Name = "Remember me?")]
public bool RememberMe { get; set; }

}

রেজিস্টার মডেল/The Register Model

public class RegisterModel
{

[Required]
[Display(Name = "User name")]
public string UserName { get; set; }

[Required]
[DataType(DataType.EmailAddress)]
[Display(Name = "Email address")]
public string Email { get; set; }

[Required]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]
[DataType(DataType.Password)]
[Display(Name = "Password")]
public string Password { get; set; }

[DataType(DataType.Password)]
[Display(Name = "Confirm password")]
[Compare("Password", ErrorMessage = "The password and confirmation password do not match.")]
public string ConfirmPassword { get; set; }

}

এএসপি.নেট এমভিসি – মডেল . ASP.NET MVC – Models

এএসপি.নেট এমভিসি - মডেল
Sheikh Mahfuzur Rahman
Bangla Word: 300

এএসপি.নেট এমভিসি (ASP.NET MVC) শেখার জন্য আমরা একটি ইন্টারনেট অ্যাপ্লিকেশান তৈরি করছি। আজকে এর সপ্তম পার্ট নিয়ে আলোচনা করা হবে; পূর্বের ছয়টি পার্ট সম্পর্কে না পড়ে থাকলে পড়ে নিন।

সপ্তম পার্টঃ ডাটা মডেল যোগ করা

এমভিসি মডেল/MVC Model
এমভিসি মডেল শুধু পিউর ভিউ এবং কন্ট্রোলার লজিক ছাড়া সবগুলো অ্যাপ্লিকেশন লজিক ধারণ করে, যেমন বিজনেস লজিক, ভ্যালিডেশান লজিক এবং ডাটা অ্যাক্সেস লজিক। এমভিসি'র মাধ্যমে মডেলগুলো অ্যাপ্লিকেশন ডাটাকে একই সাথে ধারণ ও পরিবর্তন (manipulate) করে।

মডেল ফোল্ডার/Model Folder

মডেলগুলোর ফোল্ডার ক্লাসগুলোকে ধারণ করে যা অ্যাপ্লিকেশন মডেলকে প্রতিনিধিত্ব করে। ভিজ্যুয়াল ওয়েব ডেভলাপার সয়ংক্রিয়ভাবে একটি AccountModels.cs ফাইল তৈরি করে যা অ্যাপ্লিকেশন সিকিউরিটির জন্য মডেলগুলো ধারণ করে। AccountModels একটি LogOnModel, একটি ChangePasswordModel, এবং একটি RegisterModel ধারণ করে।

ডাটাবেজ মডেল যোগ করা/Add Database Model

এই টিউটোরিয়ালের জন্য যে ডাটাবেজ মডেলটি দরকার তা নিচের সহজ ধাপগুলো অনুসরন করে তৈরি করা যায়ঃ

Solution Explorer এ Models ফোল্ডারে রাইট-ক্লিক করুন এবং Add এবং Class সিলেক্ট করুন
ক্লাসটির নাম দিন MovieDB.cs এবং Add এ ক্লিক করুন
ক্লাসটিকে এডিট করুনঃ

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace MvcDemo.Models
{
public class MovieDB
{
public int ID { get; set; }
public string Title { get; set; }
public string Director { get; set; }
public DateTime Date { get; set; }

}
public class MovieDBContext : DbContext
{
public DbSet<MovieDB> Movies { get; set; }
}
}

লক্ষ্যণীয়ঃ আমরা ইচ্ছাকৃতভাবে মডেল ক্লাসের নাম দিয়েছি "MovieDB" । পূর্বের অধ্যায়ে "MovieDBs" নামটিকে ( শেষে s আছে) আপনি ডাটাবেজ টেবলের জন্য ব্যবহৃত হতে দেখেছেন। এটা দেখতে অদ্ভুত দেখায়, কিন্তু এটি নামকরণের একটি রীতি যা ডাটাবেজ টেবলের সাথে মডেলটিকে কানেক্ট করতে ব্যবহার করা হয়।

একটি ডাটাবেজ কন্ট্রোলার যোগ করা

নিচের সহজ ধাপগুলো অনুসরন করে এই টিউটোরিয়ালের জন্য প্রয়োজনীয় ডাটাবেজ কন্ট্রোলারটি তৈরি করা যায়ঃ

আপনাকে প্রজেক্টকে আবার তৈরি করুনঃ Debug সিলেক্ট করুন, এবং তারপর মেন্যু থেকে Build MvcDemo সিলেক্ট করুন।
সল্যুশান এক্সপ্লোরারে, Controllers ফোল্ডারে রাইট-ক্লিক করুন, Add এবং Controller সিলেক্ট করুন
কন্ট্রোলারের নামকে MoviesController হিসেবে সেট করুন
টেমপ্লেট সিলেক্ট করুনঃ Controller with read/write actions and views, using Entity Framework
মডেল ক্লাস সিলেক্ট করুনঃ MovieDB (MvcDemo.Models)
ডাটা কন্টেক্সট ক্লাস সিলেক্ট করুনঃ MovieDBContext (MvcDemo.Models)
ভিউ সিলেক্ট করুনঃ Razor (CSHTML)
Add এ ক্লিক করুন

ভিজ্যুয়াল ওয়েব ডেভলাপাররা নিচের ফাইলগুলো তৈরি করবেঃ

Controllers ফোল্ডারে একটি MoviesController.cs ফাইল
Movies ফোল্ডারে একটি Views ফোল্ডার

ডাটাবেজ ভিউ যোগ করা
নিচের ফাইলগুলো সয়ংক্রিয়ভাবেই মুভিজ ফোল্ডারে তৈরি হয়ে যায়ঃ

Create.cshtml
Delete.cshtml
Details.cshtml
Edit.cshtml
Index.cshtml

একটি কানেকশান স্ট্রিং যোগ করা
আপনার Web.config ফাইলের <connectionStrings> এলিমেন্টে নিচের এলিমেন্টটি যোগ করুনঃ

<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|\Movies.sdf"
providerName="System.Data.SqlServerCe.4.0"/>

অভিনন্দন!

আপনাকে অভিনন্দন! আপনি আপনার অ্যাপ্লিকেশানে প্রথম এমভিসি ডাটা মডেল যোগ করেছেন।
এখন আপনি "Movies" ট্যাবে ক্লিক করতে পারবেন 🙂

এএসপি.নেট এমভিসি – এসকিউএল ডাটাবেজ . ASP.NET MVC – SQL Database

এএসপি.নেট এমভিসি - এসকিউএল ডাটাবেজ
Sheikh Mahfuzur Rahman
Bangla word: 300

এএসপি.নেট এমভিসি (ASP.NET MVC) শিখতে গিয়ে আমরা একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করছি। আজকে যার ষষ্ট পার্ট নিয়ে আলচোনা করা হবে। পূর্বের পার্টগুলো পড়ে না থাকলে প্রথমে পড়ে নিন।

ষষ্ট পার্টঃ ডাটাবেজ যোগ করা

ডাটাবেজটি তৈরি করা

ভিজ্যুয়াল ওয়েব ডেভলাপারে এসকিউএল সার্ভার কম্প্যাক্ট নামের একটি ফ্রি এসকিউএল ডাটাবেজ রয়েছে।
এই টিউটোরিয়ালের জন্য যে ডাটাবেজটি দরকার তা নিচের সহজ ধাপগুলো অনুসরণ করে তৈরি করা যায়ঃ

Solution Explorer ইউন্ডোতে গিয়ে App_Dat ফোল্ডারে রাইট-ক্লিক করুন
Add, New Item সিলেক্ট করুন
SQL Server Compact Local Database * সিলেক্ট করুন
ডাটাবেজটির নাম দিন Movies.sdf
Add বাটনে ক্লিক করুন

যদি এসকিউএল সার্ভার কম্প্যাক্ট লোকাল ডাটাবেজ অপশান হিশেবে না থাকে তাহলে এর মানে হলো আপনি আপনার কম্পিউটারে এসকিউএল সার্ভার কম্প্যাক্ট ইন্সটল করেননি। এই লিংক থেকে এটি ইন্সটল করে নিনঃ এসকিউএল সার্ভার কম্প্যাক্ট।

ভিজ্যুয়াল ওয়েব ডেভলাপার সয়ংক্রিয়ভাবে App_Data ফোল্ডারে ডাটাবেজটি তৈরি করে।

লক্ষ্যণীয়ঃ আশা করি, এই টিটোরিয়ালটি বুঝার জন্য আপনার এসকিউএল ডাটাবেজ সম্পর্কে কিছু ধারণা রয়েছে। যদি আপনি এসকিউএল সম্পর্কে প্রথমে জানতে চান তাহলে আমাদের এসকিউএল টিউটোরিয়াল পেজে ভিজিট করুন।

একটি ডাটাবেজ টেবল যোগ করা

App_Data ফোল্ডারের Movies.sdf ফাইলে ডাবল-ক্লিক করলে Database Explorer উইন্ডো খুলবে। ডাটাবেজটিতে একটি নতুন টেবল যোগ করতে Tables ফোল্ডারে রাইট-ক্লিক করুন এবং Create Table সিলেক্ট করুন।
নিচের কলামগুলো তৈরি করুনঃ

Column
Type
Allow Nulls
ID
int (primary key)
No
Title
nvarchar(100)
No
Director
nvarchar(100)
No
Date
datetime
No

কলামগুলোর ব্যাখ্যাঃ
ID হলো একটি ইন্টিজার বা পূর্ণ সংখ্যা যা কলামের প্রত্যকটি রেকর্ডকে চিহ্নিত করতে ব্যবহৃত হয়।
Title হলো একটি ১০০ অক্ষরের টেক্সট কলাম যা মুভির নাম সংরক্ষণ করে।
Director হলো একটি ১০০ অক্ষরের টেক্সট কলাম যা ডিরেক্টরের নাম সংরক্ষণ করে।
Date হলো একটি datetime কলাম যা মুভিটির রিলিজ ডেট সংরক্ষণ করে।

 

ছবিতে দেখুনঃ

http://bangla.salearningschool.com/aspnet/pic_mvc_dbexplorer.jpg

উপরোল্লিখিত কলামগুলো তৈরি করার পর আপনাকে অবশ্যই ID কলামকে টেবলের প্রাইমারি কি (primary key বা record identifier ) হিসেবে সেট করতে হবে। এটা করতে, কলামের নাম (ID) এ ক্লিক করুন এবং Primary Key সিলেক্ট করুন। তাছাড়া, Column Properties উইন্ডোতে Identity প্রপার্টিকে True তে সেট করুনঃ

টেবলে কলামগুলো তৈরি করা শেষ হলে, MovieDBs নাম দিয়ে টেবলটি সেভ করুন।

লক্ষ্যণীয়ঃ আমরা ইচ্ছাকৃতভাবে টেবলটির নাম দিয়েছি "MovieDBs" ( শেষে s রয়েছে )। পরবর্তী অধ্যায়ে আপনি ডাটা মডেলের জন্য "MovieDB" নামটি দেখবেন। এটা দেখতে অদ্ভুত দেখায়, কিন্তু এটাই নামকরণের রীতি যা আপনাকে কন্ট্রোলারটিকে ডাটাবেজ টেবলটির সাথে কানেক্ট করার উপযোগী করার জন্য ব্যবহার করতে হবে।

ডাটাবেজ রেকর্ড যোগ করা/Adding Database Records

মুভি ডাটাবেজে কিছু পরীক্ষামূলক রেকর্ড যোগ করতে ভিজ্যুয়াল ওয়েব ডেভলাপার ব্যবহার করতে পারেন।
App_Data ফোল্ডারে Movies.sdf ফাইলে ডাবল-ক্লিক করুন। ডাটাবেজ এক্সপ্লোরার উইন্ডোতে MovieDBs টেবলে রাইট ক্লিক করুন এবং Show Table Data সিলেক্ট করুন।

নিচের মতো কিছু রেকর্ড যোগ করুনঃ

ID
Title
Director
Date
1
Psycho
Alfred Hitchcock
01.01.1960
2
La Dolce Vita
Federico Fellini
01.01.1960

লক্ষ্যণীয়ঃ ID কলাম অটোমেটিকভাবে আপডেট হয়। আপনার এটাকে এডিট করার দরকার নেই।

এএসপি.নেট এমভিসি – ভিউস . ASP.NET MVC – Views

এএসপি.নেট এমভিসি - ভিউস
Sheikh Mahfuzur Rahman
Bangla word: 200

এএসপি.নেট এমভিসি (ASP.NET MVC) শিখার জন্য আমরা একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করছি। আজকের টিউটোরিয়ালে যার পঞ্চম পর্ব নিয়ে আলোচনা করা হবে।

পার্ট-ফাইভঃ অ্যাপ্লিশনটি ডিসপ্লে করার জন্য ভিউস যোগ করা

ভিউস ফোল্ডার/Views Folder
Views ফোল্ডার অ্যাপ্লিকেশনটির ডিসপ্লে বা ইউজার ইন্টারফেসের সাথে সংশ্লিষ্ট ফাইলগুলো ( যেমন HTML ফাইল ) ধারণ করে। ল্যাঙ্গুয়েজ কন্টেন্ট এর উপর নির্ভর করে এই ফাইলগুলোর যেসব এক্সটেনশান থাকতে পারে সেগুলো হলো html, asp, aspx, cshtml এবং vbhtml

ভিউস ফোল্ডার প্রত্যেক কন্ট্রোলারের জন্য একটি ফোল্ডার ধারণ করে। ভিজ্যুয়াল ওয়েব ডেভলাপার Views ফোল্ডারের ভিতরে একটি অ্যাকাউন্ট ফোল্ডার, একটি হোম ফোল্ডার এবং একটি শেয়ার্ড ফোল্ডার তৈরি করেছে।

Account ফোল্ডার ইউজার অ্যাকাউন্ট রেজিস্টার করা এবং লগিন করার পেজগুলো ধারণ করে। Home ফোল্ডার হোম পেজ এবং অ্যাবাউট পেজের মতো অ্যাপ্লিকেশন পেজগুলো সংরক্ষণ করতে ব্যবহৃত হয়। Shared ফোল্ডার কন্ট্রোলারগুলোর ( মাস্টার পেজ এবং লেআউট ) মধ্যে শেয়ার্ড ভিউগুলো সংরক্ষণ করতে ব্যবহৃত হয়।

ছবিতে ফোল্ডার গুলো দেখুন

http://bangla.salearningschool.com/aspnet/pic_mvc_views.jpg
এএসপি.নেট ফাইল টাইপসমূহ/ASP.Net File Types

Views ফোল্ডারে নিচের মতো এইচইটিএমএল ফাইল পাওয়া যায়ঃ

ফাইল টাইপ এক্সটেনশান
Plain HTML .htm or .html
Classic ASP .asp
Classic ASP.NET .aspx
ASP.NET Razor C# .cshtml
ASP.NET Razor VB .vbhtml

ইন্ডেক্স ফাইল/index.html

Index.cshtml ফাইলটি অ্যাপ্লিকেশনের হোম পেজের প্রতিনিধিত্ব (represent) করে। এটাই অ্যাপ্লিকেশনের ডিফল্ট ফাইল ( index file)। ফাইলে নিচের উপাদানগুলো  যোগ করুনঃ

@{ViewBag.Title = "Home Page";}
<h1>Welcome to W3Schools</h1>
<p>Put Home Page content here</p>

অ্যবাউট ফাইল/About File
About.cshtml ফাইলটি অ্যাপ্লিকেশনের অ্যাবাউট পেজকে প্রতিনিধিত্ব করে।
ফাইলটিতে নিচের উপাধানগুলো যোগ করুনঃ

@{ViewBag.Title = "About Us";}
<h1>About Us</h1>
<p>Put About Us content here</p>

অ্যাপ্লিকেশনটিকে চালু (run) করুন

ওয়েব ডেভলাপার মেন্যু থেকে Debug সিলেক্ট করে ডিবাগিং শুরু করুন ( অথবা F5 চাপুন )।
আপনার অ্যাপ্লিকেশনটিকে নিচের মতো দেখাবেঃ

কিভাবে এটি কাজ করে তা দেখার জন্য "Home" ট্যাব এবং "About" ট্যাবে ক্লিক করুন।

 

Application er ছবি এখানে দেখুন

http://bangla.salearningschool.com/aspnet/pic_mvc_app.jpg

অভিনন্দন!

আপনাকে অভিনন্দন! আপনি আপনার প্রথম এমভিসি অ্যাপ্লিকেশন তৈরি করে ফেলেছেন!

লক্ষ্যনীয়ঃ আপনি এখনো "Movies" ট্যাবে ক্লিক করতে পারবেন না। আমরা এই টিউটোরিয়ালের পরবর্তী অধ্যায়ে "Movies" ট্যাবের জন্য কোড যোগ করবো।

এএসপি ডট নেট এমভিসি-স্টাইলস অ্যান্ড লেআউট (ASP.NET MVC – Styles and Layout)

এএসপি ডট নেট এমভিসি-স্টাইলস অ্যান্ড লেআউট (ASP.NET MVC - Styles and Layout)

লেখাঃ মীর তাউহীদুল ইসলাম ।
ওয়েব ডেভেলপার, ওডেস্ক

কেমন আছেন সবাই? অনেকদিন পর আবার আপনাদের সাথে দেখা । আজ আমি আপনাদের সাথে আলোচনা করবো এএসপি ডট নেট এমভিসি-স্টাইলস অ্যান্ড লেআউট নিয়ে।

এএসপি ডট নেট এমভিসি (ASP.NET MVC) শিখতে,আমরা একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করতেছি।

তৃতীয় পার্ট: স্টাইল এবং সুন্দর শৈলী যোগ করা।

লেআউট যোগ করাঃ
Layout.cshtml নামক ফাইলটি অ্যাপ্লিকেশনের প্রত্যেকটি পেইজে লেআউট উপস্থাপন করে।এটি ভিউস(দেখা) ফোল্ডারের ভিতরে শেয়ার্ড ফোল্ডারে অবস্থিত।
এখন ফাইলটি ওপেন করতে হবে এবং এর ভিতরে থাকা বিষয়বস্তু রদবদল করতে হবে যা নিম্নোক্ত কোডের মাধ্যমে দেখানো হলঃ

DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title</title>
css")" rel="stylesheet" type="text/css" />
<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")"></script>
<script src="@Url.Content("~/Scripts/modernizr-1.7.min.js")"></script>
</head>
<body>
<ul id="menu">
<li>@Html.ActionLink("Home", "Index", "Home")</li>
<li>@Html.ActionLink("Movies", "Index", "Movies")</li>
<li>@Html.ActionLink("About", "About", "Home")</li>
</ul>
<section id="main">
@RenderBody()

Copyright W3schools 2012. All Rights Reserved.
</section>
</body>
</html>

এইচটিএমএল সাহায্যকারীঃ/HTML Helpers
উপরের কোডটিতে এইচটিএমএল সাহায্যকারী গুলো এইচটিএমএল এর আউটপুট টিকে পরিবর্তন করার জন্য ব্যাবহার করা হয়েছে।
@Url.Content() -URL- এ কন্টেন্ট এখানে সন্নিবেশিত করা হবে।
@Html.ActionLink() -এইচটিএমএল লিংক এখানে সন্নিবেশ করা হবে।

রেজর সিনট্যাক্স(Razor Syntax)
উপরের কোডটিতে যে কোডগুলো লাল রং দ্বারা চিহ্নিত করা হয়েছে তাদের মধ্যে সি শার্প(C#)এবং রেজর মারকাপ ব্যাবহার করা হয়েছে।
@ViewBag.Title – পেজের শিরোনাম এখানে সন্নিবেশিত করা হবে।
@RenderBody()- পেজের কন্টেন্ট এখানে অনুষ্ঠিত হবে।

নোটঃ আমরা রেজর মারকাপ সম্পর্কে জানতে সি-শার্প এবং ভিজুয়াল বেসিক এর জন্য আমাদের রেজরের টউটোরিয়াল দেখতে পারি।

স্টাইল যোগ করাঃ
অ্যাপ্লিকেশনের জন্য যে স্টাইল-সিট রয়েছে তার নাম সাইট ডট সিএসএস(Site.css)।এটি কন্টেন্ট ফোল্ডারে থাকে।
এখন সাইট ডট সিএসএস(Site.css) ফাইলটিকে ওপেন করি এবং এর কন্টেন্ট গুলো রদবদল করিঃ

body
{
font: "Trebuchet MS", Verdana, sans-serif;
background-color: #5c87b2;
color: #696969;
}
h1
{
border-bottom: 3px solid #cc9900;
font: Georgia, serif;
color: #996600;
}
#main
{
padding: 20px;
background-color: #ffffff;
border-radius: 0 4px 4px 4px;
}
a
{
color: #034af3;
}
/* Menu Styles ------------------------------*/
ul#menu
{
padding: 0px;
position: relative;
margin: 0;
}
ul#menu li
{
display: inline;
}
ul#menu li a
{
background-color: #e8eef4;
padding: 10px 20px;
text-decoration: none;
line-height: 2.8em;
/*CSS3 properties*/
border-radius: 4px 4px 0 0;
}
ul#menu li a:hover
{
background-color: #ffffff;
}
/* Forms Styles ------------------------------*/
fieldset
{
padding-left: 12px;
}
fieldset label
{
display: block;
padding: 4px;
}
input[type="text"], input[type="password"]
{
width: 300px;
}
input[type="submit"]
{
padding: 4px;
}
/* Data Styles ------------------------------*/
table.data
{
background-color:#ffffff;
border:1px solid #c3c3c3;
border-collapse:collapse;
width:100%;
}
table.data th
{
background-color:#e8eef4;
border:1px solid #c3c3c3;
padding:3px;
}
table.data td
{
border:1px solid #c3c3c3;
padding:3px;
}

 

The _ViewStart File

Shared folder এর _ViewStart file এ নিচের লাইনটি থাকে যা (লাইনটি) সব ভিউ ফাইল এর সাথে যুক্ত হয়। এই লাইনটি remove করলে এই লাইনটি আপনাকে সব ভিউ ফাইল এ যোগ করতে হবে।

@{Layout = "~/Views/Shared/_Layout.cshtml";}

 

আশাকরি আমরা সবাই উপরের কোড টুকু বুঝতে পেরেছি।
আজ আর নয়।এপর্যন্তই থাক।এর পরে আবার হাজির হবো অন্য কিছু নিয়ে।সে পর্যন্ত ভাল থাকবেন।আর এ বিষয়ে আরও জানতে যেতে পারেন এই

http://Bangla.SaLearningSchool.com

ASP.NET MVC – অ্যাপ্লিকেশন ফোল্ডার . ASP.NET MVC – Application Folders

ASP.NET MVC - অ্যাপ্লিকেশন ফোল্ডার
লেখকঃ নয়ন চন্দ্র দত্ত

কি খবর সবার? সবাই ভালতো? আজ আমি অনেক গুরুত্বপুর্ণ একটা বিষয় নিয়ে বিস্তারিত আলোচনা করবো । সেটি হচ্ছে- ASP.NET MVC - অ্যাপ্লিকেশন ফোল্ডার।
আজ আমরা MVC - অ্যাপ্লিকেশন ফোল্ডার সম্পর্কে, এর ব্যবহার সম্পর্কে দেখব। তাহলে চলুন শুরু করা যাক ...।

ASP.NET MVC শিখতে, আমরা একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরী করছি ।
অ্যাপ্লিকেশন ফোল্ডার এক্সপ্লোরিং

MVC ফোল্ডার
একটি টাইপিক্যাল ASP.NET MVC ওয়েব অ্যাপ্লিকেশনে নিম্নলিখিত ফোল্ডার কন্টেন্ট আছেঃ

 

পোস্ট এর শেষে কিছু ছবির লিঙ্ক দেয়া আছে। ছবি দেখলে ধারণা গুলো পরিস্কার হবে।
Application information

Properties
References

Application folders
App_Data Folder
Content Folder
Controllers Folder
Models Folder
Scripts Folder
Views Folder

Configuration files

Global.asax
packages.config
Web.config

ফোল্ডারের নাম সব MVC অ্যাপ্লিকেশনে সমান ।MVC ফ্রেমওয়ার্ক ডিফল্ট নামকরণ এর উপর নির্ভর করে। কন্ট্রোলারগুলো কন্ট্রোলার ফোল্ডারে, Views, Views ফোল্ডারে এবং মডেল মডেল ফোল্ডার আছে ।
অ্যাপ্লিকেশন কোড এ আপনাকে ফোল্ডারের নাম ব্যবহার করতে হবে না ।
স্ট্যান্ডার্ড নামকরণ কোডের পরিমাণ হ্রাস এবং ডেভেলপারদের MVC প্রকল্প বোঝার জন্য এটা সহজ করে তোলে। প্রতিটি ফোল্ডারের বিষয়বস্তুর একটি সংক্ষিপ্ত সারাংশ নিম্নরূপঃ

App_Data ফোল্ডার
App_Data ফোল্ডার আবেদন তথ্য সংরক্ষণের জন্য । আমরা পরে এই টিউটোরিয়াল এ App_Data ফোল্ডারে একটি SQL ডাটাবেস যোগ করব ।

Content বা বিষয়বস্তু ফোল্ডার
বিষয়বস্তু ফোল্ডার স্টাইল শীট (CSS ফাইল), আইকন এবং ইমেজের মত স্ট্যাটিক ফাইল এ ব্যবহার করা হয়। ভিসুয়াল ওয়েব ডেভেলপার স্বয়ংক্রিয়ভাবে Content বা বিষয়বস্তু ফোল্ডারে একটি থিম ফোল্ডার যোগ করে।
থিম ফোল্ডার jQuery এর শৈলী এবং ছবির দিয়ে ভরা থাকে। এই প্রকল্পের মধ্যে আপনি থিম ফোল্ডার মুছে দিতে পারেন ।
ভিসুয়াল ওয়েব ডেভেলপার প্রকল্পে একটি স্ট্যান্ডার্ড স্টাইল শীট ফাইলও যোগ করেঃ কন্টেন্ট ফোল্ডারে Site.css ফাইলটি ।স্টাইল সিট ফাইল সম্পাদনা করার উপযুক্ত হয় যখন আপনি application স্টাইল পরিবর্তন করতে চান।
আমরা এই টিউটোরিয়াল এর পরবর্তী অধ্যায়ে স্টাইল শীট ফাইল ( Site.css ) ফাইল সম্পাদনা (edit) করব।

Controllers বা কনট্রোলার ফোল্ডার
কনট্রোলারের ফোল্ডার ব্যবহারকারীর ইনপুট এবং প্রতিক্রিয়া পরিচালনা করার জন্য দায়ী কনট্রোলার ক্লাস ধারণ করে।
MVC "কন্ট্রোলার " দিয়ে শেষ করতে সব কন্ট্রোলার ফাইলের নাম প্রয়োজন।ভিসুয়াল ওয়েব ডেভেলপার (হোম এবং About পেজের জন্য) একটি হোম কন্ট্রোলার এবং একটি অ্যাকাউন্ট কন্ট্রোলার(লগিন পেজের জন্য) তৈরি করে।
আমরা পরে এই টিউটোরিয়ালে আরও কন্ট্রোলার তৈরি করব ।

Models বা মডেল ফোল্ডার
মডেল ফোল্ডার অ্যাপ্লিকেশন মডেল প্রতিনিধিত্বকারী ক্লাসগুলো ধারণ করে। মডেল হোল্ড এবং আবেদন তথ্য নিপূণভাবে করে।
আমরা এই টিউটোরিয়ালের পরবর্তী অধ্যায়ে মডেল ( ক্লাস) তৈরী করব।

Views ফোল্ডার
Views ফোল্ডার আবেদন প্রকাশ( ইউজার ইন্টারফেস ) করা সম্পর্কিত HTML ফাইল ফোল্ডার জমা রাখে। Views ফোল্ডার প্রতিটি কন্ট্রোলার ফোল্ডারের জন্য একটি ফোল্ডার ধারণ করে।
ভিসুয়াল ওয়েব ডেভেলপার একটি অ্যাকাউন্ট ফোল্ডার, একটি হোম ফোল্ডার , এবং ( Views ফোল্ডারের ভিতরে ) একটি শেয়ার করা ফোল্ডার তৈরি করে।
নিবন্ধন ও ব্যবহারকারীর অ্যাকাউন্টে লগ ইন এর জন্য অ্যাকাউন্ট ফোল্ডার পেজ ধারণ করে থাকে।
হোম ফোল্ডার মূল পৃষ্ঠা এবং about পেজের মত আবেদন পেজ জমা রাখার জন্য ব্যবহৃত হয়।
Shared ফোল্ডার কন্ট্রোলার (মাস্টার পৃষ্ঠা এবং layout বা বিন্যাস পৃষ্ঠা) মধ্যে views শেয়ার্ড জমা রাখতে ব্যবহৃত হয়।
আমরা এই টিউটোরিয়ালের পরবর্তী অধ্যায়ে layout বা বিন্যাস ফাইল সম্পাদনা করব ।

Scripts বা স্ক্রিপ্ট ফোল্ডার
জাভাস্ক্রিপ্ট ফাইল আবেদনের জাভাস্ক্রিপ্ট ফাইল জমা রাখে ।
ডিফল্টরূপে ভিসুয়াল ওয়েব ডেভেলপার এই ফোল্ডারটি স্ট্যান্ডার্ড MVC , AJAX, এবং jQuery ফাইল দিয়ে পূর্ণ করে।

[ দ্রষ্টব্য: " Modernizr " নামে জাভাস্ক্রিপ্ট ফাইল অ্যাপ্লিকেশনে HTML5 এবং CSS3 বৈশিষ্ট্য সমর্থনের জন্য ব্যবহৃত হয় ।। ]

http://bangla.salearningschool.com/aspnet/pic_mvc_scripts.jpg

আজকের মত এই পর্যন্ত। আশা করি সবার খুব ভাল লেগেছে । আশা করছি পরবর্তি টিউটোরিয়ালে MVC - অ্যাপ্লিকেশন ফোল্ডার নিয়ে আরও বিস্তারিত আলোচনা করব। সবাই বেশি বেশি করে প্রাকটিস করবেন ।

 

ছবিতে দেখার জন্য নিচের লিঙ্ক এ যেতে পারেন

http://bangla.salearningschool.com/aspnet/pic_mvc_solution.jpg

http://bangla.salearningschool.com/aspnet/pic_mvc_content.jpg

http://bangla.salearningschool.com/aspnet/pic_mvc_controllers.jpg

http://bangla.salearningschool.com/aspnet/pic_mvc_views.jpg

http://bangla.salearningschool.com/aspnet/pic_mvc_scripts.jpg
সবাই ভাল থাকবেন আর কোন সমস্যা হলে কমেন্ট অপশনত আছেই। তাই কমেন্ট করতে বুলবেন না ।

এএসপি.নেট এমভিসি – ইন্টারনেট অ্যাপ্লিকেশন . ASP.NET MVC – Internet Application

এএসপি.নেট এমভিসি - ইন্টারনেট অ্যাপ্লিকেশন
Sheikh Mahfuzur Rahman
Bangla word: 180

এএসপি.নেট এমভিসি ( ASP.NET MVC ) সম্পর্কে শিখতে গিয়ে আমরা একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করবো।

প্রথম পার্টঃ অ্যাপ্লিকেশনটি তৈরি করা

আমরা যা তৈরি করবো
আমরা এমন একটি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করবো যা একটি ডাটাবেজে সংরক্ষিত তথ্যের adding, editing, deleting এবং listing সাপোর্ট করে।

আমরা যা যা করবো

ভিজ্যুয়াল ওয়েব ডেভলাপার ওয়েব অ্যাপ্লিকেশন তৈরির জন্য বিভিন্ন টেমপ্লেট অফার করে। আমরা এইচটিএমএল ফাইভ ( HTML5 ) মার্কআপের মাধ্যমে একটি খালি এমভিসি ইন্টারনেট অ্যাপ্লিকেশন তৈরি করতে ভিজ্যুয়াল ডেভলাপারকে ( Visual Web Developer ) ব্যবহার করবো।

যখন খালি ইন্টারনেট অ্যাপ্লিকেশনটি তৈরি হবে তখন আমরা ধীরে ধীরে অ্যাপ্লিকেশনটিতে কোড যোগ করবো যতক্ষণ না সেটি সম্পূর্ণভাবে শেষ হয়। প্রোগ্রামিং ল্যাঙ্গুয়েজ হিসেবে আমরা C# এবং সবচেয়ে নতুন Razor সার্ভার কোড মার্কআপ ব্যবহার করবো।

পুরো টিউটোরিয়ালটি চলার সময়ে আমরা কন্টেন্ট, কোড এবং অ্যাপ্লিকেশনের সবগুলো উপাদান ব্যাখ্যা করবো।

ওয়েব অ্যাপ্লিকেশনটি তৈরি করা

যদি আপনার কম্পিউটারে ভিজ্যুয়াল ওয়েব ডেভলাপার ইন্সটল করা থাকে, সেটি চালু করুন এবং New Project সিলেক্ট করুন। অন্যথায়, শুধু পড়ুন এবং শিখুন।

New Project ডায়ালগ বক্সেঃ
Visual C# টেমপ্লেট ওপেন করুন
ASP.NET MVC 3 Web Application টেমপ্লেটটি সিলেক্ট করুন
প্রজেক্ট এর নাম হিসেবে MvcDemo সেট করুন
ডিস্ক লোকেশন হিসেবে c:\w3schools_demo এর মতো কিছু একটা সেট করুন
OK তে ক্লিক করুন

http://bangla.salearningschool.com/aspnet/pic_mvc_new_project.jpg

যখন New Project ডায়ালগ বক্স ওপেন হয়ঃ
Internet Application টেমপ্লেট সিলেক্ট করুন
Razor Engine সিলেক্ট করুন
HTML5 Markup সিলেক্ট করুন
OK তে ক্লিক করুন

ভিজ্যুয়াল স্টুডিও এক্সপ্রেস ঠিক নিচের মতো একটি প্রজেক্ট তৈরি করবেঃ

http://bangla.salearningschool.com/aspnet/pic_mvc_explorer.jpg

 

এই টিউটোরিয়ালের পরবর্তী অধ্যায়ে আমরা ফাইল এবং ফোল্ডারের উপাদানগুলোকে নিয়ে আলোচনা করবো।

ASP.NET MVC টিউটোরিয়াল

ASP.NET MVC টিউটোরিয়াল
লিখেছেন ইন্দ্র ভূষণ শুভ

Minor Edit by Sayed Ahmed

ASP.NET হলো HTML, CSS, JavaScript এবং server scripting দিয়ে ওয়েব পেইজ এবং ওয়েব সাইট তৈরির একটি  কাঠামো (Framework)।

ASP.NET তিনটি ভিন্ন ভিন্ন মডেল সমর্থন করেঃ
ওয়েব পেইজ, এমভিসি (Model View Controller), এবং ওয়েব ফর্ম।
এই টিউটরিয়ালটি এমভিসি (Model View Controller) নিয়ে

MVC প্রোগ্রামিং মডেল
ASP.NET প্রোগ্রামিং মডেলের মধ্যে MVC একটি।
MVC হলো MVC (Model View Controller) ডিজাইন ব্যবহার করে ওয়েব অ্যাপ্লিকেশন তৈরির একটি কাঠামো/Framework।

 

মডেলটি/Model একটি অ্যাপ্লিকেশন এর কোর উপস্থাপন করে ( উদাহরণস্বরুপ একটি ডাটাবেস থেকে রেকর্ডের তালিকা নিয়ে আসা । ডাটাবেজ এ তথ্য জমা করা এবং

ভিউ/view: তথ্য প্রদর্শন করে (মডেল থেকে ডাটা নিয়ে)
কন্ট্রোলার/controller: ব্যবহার কারি/user এর ইনপুটকে/interaction নিয়ন্ত্রণ করে

 

এছাড়াও MVC মডেল এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্টের উপর পূর্ণ নিয়ন্ত্রণ রক্ষা করে।

MVC মডেল ৩ টি যুক্তি স্তরে ওয়েব অ্যাপ্লিকেশনকে
সংজ্ঞায়িত করেঃ
The business layer (Model logic)
The display layer (View logic)
The input control (Controller logic)

মডেল হলো অ্যাপ্লিকেশনের একটি অংশ যা অ্যাপ্লিকেশন ডাটার যুক্তিকে নিয়ন্ত্রণ করে।
মডেলটি প্রায়ই ডাটাবেস থেকে তথ্য উদ্ধার করে ( এবং সংরক্ষণ করে )।
ভিউ হলো অ্যাপ্লিকেশনের একটি অংশ যা তথ্য প্রদর্শন নিয়ন্ত্রণ করে।
ভিউ প্রায়ই মডেল ডাটা থেকে তৈরি হয়।

নিয়ন্ত্রক/Controller হলো অ্যাপ্লিকেশনের একটি অংশ যা ব্যবহারকারীদের মিথষ্ক্রিয়া/Interaction নিয়ন্ত্রণ করে।
নিয়ন্ত্রক সাধারণত ভিউ থেকে তথ্য পড়ে, ব্যবহারকারীর ইনপুট নিয়ন্ত্রণ করে, মডেলে ইনপুটের তথ্য প্রেরণ করে।
MVC বিভক্তি আপনাকে জটিল অ্যাপ্লিকেশন পরিচালনা করতে সাহায্য করবে, কারণ আপনি একই সময়ে এক এক রকম দৃষ্টিভঙ্গিতে নজড় দিতে পারবেন। এছাড়াও এটি একটি অ্যাপ্লিকেশনকে সহজেই পরীক্ষা করতে পারে।
MVC বিভক্তি গ্রুপ উন্নয়নকে সহজসাধ্য কওরে। ভিন্ন ভিন্ন ব্যবহারকারী একই সাথে the view, the controller logic, এবং the business logic কে কাজ করতে পারে।

ওয়েব ফর্ম Application বনাম MVC Application
MVC প্রোগ্রামিং মডেল গতানুগতিক ASP.NET (ওয়েব ফর্ম) থেকে একটু আলাদা। এটিতে  ASP.NET এর বৈশিষ্ট্য বিদ্যমান যেমন   মাস্টার পেজ, নিরাপত্তা । কিন্তু এটি  লাইটওয়েট, এবং সহজে testable.

ভিসুয়াল স্টুডিও এক্সপ্রেস ২০১২/২০১০
ভিসুয়াল স্টুডিও এক্সপ্রেস মাইক্রোসফট ভিসুয়াল স্টুডিও একটি মুক্ত সংস্করণ।
ভিসুয়াল স্টুডিও এক্সপ্রেস MVC ( এবং ওয়েব ফর্ম ) এর জন্য উন্নয়নের দক্ষ হাতিয়ার।

ভিসুয়াল স্টুডিও এক্সপ্রেসে রয়েছেঃ
MVC এবং ওয়েব ফর্ম
ওয়েব নিয়ন্ত্রণের ড্রাগ- এবং- ড্রপ এবং ওয়েব উপাদান
ওয়েব সার্ভারের ভাষা (Razor using VB or C# )
ওয়েব সার্ভার (IIS Express)
ডাটাবেস সার্ভার (SQL Server Compact)
পরিপূর্ণ ওয়েব উন্নয়ন কাঠামো (ASP.NET)

আপনি যদি ভিসুয়াল স্টুডিও এক্সপ্রেস ইন্সটল করেন, আপনি এই টিউটরিয়াল থেকে আরও লাভ পেতে পারেন।
আপনি যদি ভিসুয়াল স্টুডিও এক্সপ্রেস ইন্সটল করতে চান, এই লিঙ্কগুলোতে ক্লিক করেনঃ
Visual Web Developer 2012 ( আপনার যদি Windows 7 বা Windows 8 থেকে থাকে )
Visual Web Developer 2010 (Windows Vista অথবা XP জন্য )

ASP.NET MVC তথ্যসূত্র
এই টিউটরিয়ালটি শেষে আপনি ASP.NET MVC সম্পর্কে একটি পরিপুর্ণ তথ্য পাবেন।