Osman KURT

Kendime Not

MVC Video Oynatma

İlk olarak videoyu sisteme yükleme kısmına bakacağız. Resim yüklemeden farkı olmayan tipik bir upload olayı. Sadece webconfig'den max. upload mikarını ayarlamak gerekiyor o kadar.

HTML;
<form action="" method="post" enctype="multipart/form-data">
@Html.TextBoxFor(m => m.Baslik, new { @class = "osmankurtnet" })
<input id="File1" type="file" name="File1" />
<input id="Submit1" type="submit" value="Tamam" />
</form>

Yükleme Controller;

 
[HttpPost]
public ActionResult VideoGaleriEdit(Video vid, HttpPostedFileBase File1)
{
Video v = new Video();
v.Baslik = "osmankurt.net Yazılım Uzmanı";
if (File1 != null)
{
if (File1.ContentLength > 0)
{
File1.SaveAs(Server.MapPath(Url.Content("~/uploaded/" + File1.FileName)));
v.Video1 = File1.FileName;
}
}
entity.Video.AddObject(v);
entity.SaveChanges();
}
return View();
}

Yükleme işlemi tamamlandı. Ön tarafta göstermek için öncelikle buradan dosyamızı indirmeniz ve alt kısımda ki gibi sayfamıza referans olarak eklemeniz gerekmektedir.
HTML;

<div style="text-align: center;">
<div id="player"><a href="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash">Get the Adobe Flash Player to see this video.</a></div>
<script src="~/flvplayer/swfobject.js" type="text/javascript"></script>
<script type="text/javascript">
var so = new SWFObject('@Url.Content("~/flvplayer/player.swf")', 'mpl', '538', '390', '9.0.124');
so.addParam('allowscriptaccess', 'always');
so.addParam('allowfullscreen', 'true');
so.addVariable('file', '@Url.Content("~/uploaded/" + ViewBag.Icerik)');
so.addVariable('image', '@Url.Content("~/images/sg-icerik/video.png")');
so.addVariable('autostart', 'false');
so.addVariable('skin', '/flvplayer/snel.swf');
so.write('player');
</script>
</div>

Controller;

 
public ActionResult VideoDetay(string id)
{
var video = (from a in entity.Video where a.VideoID == GelenID select a).FirstOrDefault();
if (video != null)
{
ViewBag.Baslik = video.Baslik;
ViewBag.Icerik = video.Video1;
}
return View();
}

Görüşmek üzere

Osman KURT
Yazılım Uzmanı

MVC Eğitmeni & Yazılım Uzmanı

MVC'de BundleConfig Kullanımı Ve Performans Artışı

MVC projelerimizin default oluşumunda gelen bir özellik ve Microsoft gerçekten bu özelliği kullanmamızı istiyor.
Kullanımı basit, sayfa içerisinde o kadar çok css ve script tanımlıyoruz ki bazen biz bile ne nerden geliyor karıştırıyoruz. İşte bundle tam da bunu engellemek için yapışmış birşey.

Karışıklığı önlediği gibi eklediğimiz css ve js dosyalarını da optimize ederek, yüklemeden yani performansdan tasarruf sağlıyor ve bu sayede arama motorlarının bizi üst sıralara taşımasına yardımcı oluyor.

Gelelim kullanımına;
MVC projemizde ki App_start kalsöründe bulunan BundleConfig.cs dosyamıza alt örnekte olduğu gibi css ve scriptlerimizi ekliyoruz. İstediğimiz gibi ekleyebiliriz. Ezme durumlarından dolayı parça parça olarak ta ekleyebilirsiniz.


            bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
                        "~/Scripts/modernizr-*"));

            bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css"));

            bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
                        "~/Content/themes/base/jquery.ui.core.css",
                        "~/Content/themes/base/jquery.ui.resizable.css",
                        "~/Content/themes/base/jquery.ui.selectable.css",
                        "~/Content/themes/base/jquery.ui.accordion.css",
                        "~/Content/themes/base/jquery.ui.autocomplete.css",
                        "~/Content/themes/base/jquery.ui.button.css",
                        "~/Content/themes/base/jquery.ui.dialog.css",
                        "~/Content/themes/base/jquery.ui.slider.css",
                        "~/Content/themes/base/jquery.ui.tabs.css",
                        "~/Content/themes/base/jquery.ui.datepicker.css",
                        "~/Content/themes/base/jquery.ui.progressbar.css",
                        "~/Content/themes/base/jquery.ui.theme.css"));
Not düşmek gerekir se * işaretleri siz sürüm notu bildirmeden va olan sürümün numarasını almaya yarıyor.
Ön yüzde çağırmak gerekirse;

    @Styles.Render("~/Content/css")
    @Scripts.Render("~/bundles/modernizr")

Kullanım gördüğünüz gibi bu kadar basit. Üst kısımda ki kodu sayfamızın neresinde css ve js dosyalarımızın çıkmasını istiyorsak oaraya kaymamız gerekiyor.

Yazımın başında da dedim ya optimize diye bir durum da var. İşte onun içinde BundleConfig.cs dosyamızın içine en üst kısımda ki paylaştığım kodun altına

   BundleTable.EnableOptimizations = true;
Eklememiz gerekiyor.

Örnek Dosya İçin

Görümek üzere,

Osman KURT
Yazılım Uzmanı & MVC Eğitmeni

Yeni Başlayanlar İçin MVC Eğitimi

Daha önceki yazılarımda mvc eğitimim verdiğimi belirtmiştim. Bunu yenilemekte fayda görüyorum. Arkadaşlar ben İstanbul'da ikamet ediyorum bu yüzden yüz yüze eğitimlerde haliyle İstanbul içi olmak durumunda. Şehir dışında olan arkadaşlar için de uzaktan bağlantı programalrı sayesinde gerekli eğitimi gerçekleştirebiliyorum.



Bununla alakalı birçok arkadaş mail ile bağlantı sağladıkları için bu yazıyı paylaşma gereği duydum.

Eğer ki siz de mvc eğitimi almak istiyorsanız info@osmankurt.net adresinden yada iletişim formundan bana ulaşabilirsiniz. İlk aşamada lütfen ikamet ettiğiniz il ve ilçe bilginizi paylaşınız.

İlginiz için çok teşekkür ederim.
Görüşmek üzere

Osman KURT