Skip to content

මගේ අන්තර්ජාල දිනපොත

දැනුම සැමට නොමිලේ දිය යුතුය

ලේඛනාගාරය

ප්‍රවර්ගය: ASP.net MVC

මේ සතියෙ බ්‍රහස්පතින්දා ඒ කියන්නේ හතර වෙනිදා .NET User Group metting එකේ session එක කරන්නේ මම .. හිතුව පොඩි routing පාරක් දාන්න ;)

මෙන්න ඒකේ පොඩි සාරාංශයක්,

හරි, අපි ASP.net MVC 1.0 වල පාඩම් කීපයක් ඉගෙන ගත්‍තා (හරි හරි මම දන්නවා ASP.net MVC 2.0 ඇවිල්ලා කියලා, ඒ වුණාට හරි වටින පොඩි පොඩි දේවල් තියෙනවා ඊට ඉස්සෙල්ලා). අපි Controllers, Models සහා Views ආදි වශයෙන් දැනගත්තා. අද මම කරන්න යන්නේ හරි වැදගත් කොටසක් වන ASP.net MVC 1.0 Routing. බලමු කොහමද ASP.net MVC 1.0 Routing වැඩකරන්නේ, එල URL එකක්, නිකං Search Engines වලින් ටකස් ගාල පික් කරන URL එකක් හදන්නේ කියලා.

හැබයි එන්න කලින් මෙතන තියෙන (http://www.fiqri.net/index.php/category/asp-net-mvc/) videos ටික බලලා එන්න පුළුවන්නම් වැඩේ ලේසි වෙයි.

ආ තැනයි වෙලාවයි කිව්වේ නැහැනේ,

තැන : Micrososft Sri Lanka, DHCPL Building 11 මහල, නවම් මාවත, කොළඹ 2
වෙලාව: සවස 6:00 සිට 8:00 දක්වා
දිනය: 2010-03-04 (බ්‍රහස්පතින්දා)

එහෙනම් පුළුවන් කට්ටිය සෙට් වෙමු, ටටා

හරි.. අද මම පොඩි කෝඩ් එකක් ලියන කොට හිතුනා නරකද හදිස්සියෙ මම ලියපු කෝඩ් එකක අවුලක් එහෙම නැත්නම් error එකක්. නිකින් run time error එකක් වගේ. ඒ අවුලෙ විස්තර ටික ෆයිල් එකක ලිව්වානම් කියලා. දැන් ඕක හැම තැනම කෝල් කරන්නත් එපැයි, ඒක නිසා හිතුන පොඩි class එකක් ලියලා එකේ static method එකකට දාන්න,

මෙන්න class කෝඩ් එක …

public class Utilities
 {
 public static void Log(string msg, LogMessageType type)
 {
 string fileName =  String.Format(HttpContext.Current.Server.MapPath("~") + "/Logs/logfile{0:ddMMyyyy}.txt", DateTime.Now);
 string logEntry = String.Format("{0:dd-MM-yyyy HH:mm}\t{1}\t{2}", DateTime.Now, msg, type);
 if (System.IO.File.Exists(fileName))
 {
 var sw = System.IO.File.AppendText(fileName);
 sw.WriteLine(logEntry);
 sw.Close();
 }
 else
 {
 var sw = System.IO.File.CreateText(fileName);
 sw.WriteLine(logEntry);
 sw.Close();
 }

 }
 }

 public enum LogMessageType
 {
 Error, Warning, Information
 }

මෙන්න call කරන විදිහ

Utilities.Log("Your message goes here", LogMessageType.Error);

ජයවේවා!!!

දැන් අපි තුන්වෙනි පාඩමටත් ආවා. අද පාඩමෙන් කෙරෙන්නෙ අළුතින් controller එකක් හදන්නෙ කොහොමද එකෙන් view එකක් හදන්නෙ කියලා. මේ video එකෙන් කලින් පාඩම් දෙකෙන් කිව්ව action, view ඒවත් ආපහු විස්තර කරලා තියෙනවා.

මෙතනින් මේ video එක බාගන්න පුළුවන්.

(YouTube එකට දැම්මෙ නැත්තෙ, බුවාලා විනාඩි 10කට වඩා වැඩි videos දාන්න දෙන්නෙ නැහැ. :( )

එහෙනම් මම ගියා… ටටා!!!

හ්ම්… යංතං verison 1 එක ගොඩ දාගෙන යනකොට දෙවනි version එකත් release කරන්න සෙට් කරලා. හැබැයි පේන විදිහට පරණ එකෙ තිබ්බ සමහර limitations කඩල අළුත් අළුත් සෙල්ලං ගොඩක් දාන්න පුළුවන්. ඒ වුණාට හරියටම එකක් දැනගන්න එපැයි. ඒක නිසා මම version 1 එකෙ වැඩ ටික කරගෙන යන්නම්, ඒ අතර version 2 එකෙ සෙට් එක වෙනම යන්නම්.

ඉන්න අමාරු කට්ටියට version 2 මොනවද තියෙන්නෙ කියල බලන්න මෙතන කොටන්න

ජයවේවා!!!

අද අපි බලන්න යන්නෙ basic action එකක් හදන්නේ කොහමද, එකෙන් view එකක් හදාගන්නෙ කොහොමද කියලා. මේ video එකෙන් එකට හොඳ පටන් ගැන්මක් … තල්ලුවක් ලැබෙයි :) . බාගෙන බලන්න, සහ නිකන් ඉන්න එපා .. ඔයගොල්ලංගෙ අදහස් ලියන්න.

ASP.net MVC දෙවන පාඩම්

මෙන්න මේ link එක click කරල video එක බාගන්න පුළුවන්.

එහෙනං ඕං ඈ (Cheers) :)

හරි, මේ මාගෙ පළමුවෙනි training video එක. ASP.net MVC එකට හොඳ සරළ පටන්ගැන්මක්.

ආයුබෝවන් ASP.net MVC

අයෙත් වෙලාවක් සෙට් උන ගමන් මම තව tutorial එකක දාන්නම්.

ජයවේවා!!!

හරි, මම පොඩි code එකක් ලියන්න සෙට් වුණ වෙලාවක පොඩි ප්‍රශ්නයක් අවා. ඒ කියන්නෙ මම වැඩ කළේ Linq-To-Sql එක්ක, ප්‍රශ්නෙ වුණේ.. කොහොමද මම database එකට මොකක් හරි object (අපි හිතමු student data කියලා) එකක් insert කළාම, ඒ එකතු කරපු row එකේ id එක ගන්නේ කොහොමද කියලා?

බැලුවම එක එච්චර ගේමක් නැහැ…

අපි හිතමු අපේ database එකේ student කියලා table එකක් තියෙනවා කියල, එතකොට Linq-To-Sql වලින් data context එක හදන කොට Visual Studio නිකන්ම Student කියල class එකක් හදනවා. ඒ Student class එකේ property එකක් හැදෙනාව ආපේ table එකේ තියෙන auto increment field එකට (උදා: StudentID), ඊට පස්සේ database එකට ලිව්වට පස්සෙ අපිට අර property එක access කළාම අන්තිමට දාපු row එකේ id එක ගන්න පුළුවන්.

මෙන්න code එක.

_db.Students.InsertOnSubmit(studentClass); //අළුත් student record එක database එකට දාන්න.
_db.SubmitChanges(); //දැන් changes submit කරන්න.

int intLastID = sudentClass.StudentID; //ලේසියෙන්ම අන්තිමට එකතු කළ student ID එක

පස්සේ අයේ සෙට් වෙමු!!!

මොඩල්, වීව්, කොන්ට්‍රොල් (MVC) යන පැටර්න් එකෙන් ASP.net වෙබ් ඇප්ලිකේෂන් එකක් ප්‍රධාන කොට්ස් තුනකට කඩනවා. ඒ මොඩල් එක , වීව් එක සහ කොන්ට්‍රොල් එක වශයෙන්. මේ MVC ෆ්‍රේම්වර්ක් එක අපි සමාන්‍යන් පාවිච්චි කරන ASP.net වෙබ් ෆෝම්ස් වෙනුවට හෝ ඒ සමග පවිව්වි කරන්න පුළුවන් වීම විශේෂත්වයක්.ඒ වගේම මෙය සැහැල්ලු , ඉතාමත් හොදින් ටෙස්ට් කල හැකි, දැනට ASP.net වෙබ් ෆෝම්ස් වල ඇති පහසුකම් (මෙම්බර්ෂිප්, රොල්ස්, මාස්ටර් පේජස්) හෝ ඒ සමග පවිව්වි කළ හැකි ෆ්‍රේම්වර්ක් එකකි. මෙම ෆ්‍රේම්වර්ක් එක System.Web.MVC නේම් ස්පේස් එක තුල අන්තර්ගත කර ඇත.

ASP.net MVC ෆ්‍රේම්වර්ක් එකේ ප්‍රධාන කෑලි තුනකි.

image001

මොඩල්

මෙම් කොටස ASP.net MVC වල හදවත වගේ. හරියටම කිව්වොත් මුළු ඇප්ලිකේෂන් එකම ලොජික් එක තියෙන්නෙ මෙතන. උදාහරණයක් විදියට ප්‍රොඩක්ට් ඔබ්ජෙක්ට් එක ඩේටා බේස් එකෙන් ඩේටා අරගෙන කරන වෙනස්කම් ටික ආපහු ඩේටා බේස් එකට සේව් කරන එක ගන්න පුළුවන්. එතකොට ප්‍රොඩක්ට් ඔබ්ජෙක්ට් එක තමා මොඩල් එක.

වීව්

මෙම කොටසෙන් මොඩල් එකෙන් අරන් දෙන ඩේටා ඩිස්ප්ලේ කරන්නෙ. හරියට කිව්වොත් අර කලින් උදාහරණයේ ප්‍රොඩක්ට් ඔබ්ජෙක්ට් එක ඩේටා බේස් එකෙන් ගන්න ඩේටා ටික ෆොමැට් කරලා ඩිස්ප්ලේ කරන පේජ් එක ගන්න පුළුවන්.

කොන්ට්‍රොල්

මෙයා තමා අපෙ වෙබ් පේජ් එක පාවිච්චි කරන කෙනාගෙ රික්වෙස්ට් අනුව මොඩ්ල් එකට කෝල් කරලා අවශ්‍ය වීව් එක රෙන්ඩ කරල දෙන්නෙ. උඩ උදාහරණයට අනුව අපේ යුසර්, ප්‍රොඩක්ට් ඩීටෙල් ලින්ක් එක ක්ලික් කරාම , මොඩල් එකට කෝල් කර්ල අවශ්‍ය ඩේටා අරගෙන අදාළ පේජ් එක ඩිස්ප්ලේ කරන එක කරන්නෙ මේ කොන්ට්‍රොල් එකෙන්.

දැන් මම හිතන්නෙ කට්ටියට ASP.net MVC ෆ්‍රේම්වර්ක් එකේ මුල හරි. දැනට මම නවතිනව .. :)

එහෙනං ඕං ඈ (Cheers)