Şimdi Ara

Asp.net Mvc Haber Sitesi

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
1
Cevap
0
Favori
1.260
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Derslerin Asli Bu sitede: Teknobulvar.net


    Merhabalar yazimiz boyunca asp.net mvc ile normal düzeyde bir haber sitesi geliştireceğiz sitede yorum sistemi,foto ve video galeriside olacak .anlatimlar asp.net normal düzeyde bildiğiniz varsiyalarak anlatilmiştir

    yazida imla hatalari olabilir yer yer diyerekten yaziya başlayalim.

    ilk olarak SQL Server Management Studio açip Haber diye veritabani oluşturuyoruz sonra , Haberkategori adiyla bir tablo oluşturalim







    Haber sitesi admin panelli olacak, şu adrestenhttp://kilab.pl/simpleadmin/SimpleAdmin_kilab_pl.tar.gz admin panelini indiriyoruz
    biz admin panel login girişi en sonda yapacağiz çünkü ikide bir karşimiza çikmasin diye

    devam ediyoruz
    Visal studio 2012 açiyoruz ve projeye, resimdeki gibi isim veriyoruz



    Burada İnternet Aplication Seçiyoruz



    Projenin içerisinde biri Dal ve diğeri Model olmak üzere iki tane class library projesi oluşturuyoruz ve birde admin adiyla areas olşturuyoruz.



    Dal ,in içerisinde Yardimci diye class oluşturuyoruz ve kodlari giriyoruz, burada System.Configuration referansini eklemeyi onutmuyoruz,




    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;

    namespace Dal
    {
    public class mesveli
    {

    public static string con = System.Configuration.ConfigurationManager.AppSettings["connect "].ToString();


    public static SqlDataReader ExecuteReader(string cmdText, CommandType type, SqlParameter[] prms)
    {
    SqlConnection oConnection = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connect "].ToString());
    using (SqlCommand cmd = new SqlCommand(cmdText, oConnection))
    {
    cmd.CommandType = type;

    if (prms != null)
    {
    foreach (SqlParameter p in prms)
    {
    cmd.Parameters.Add(p);
    }
    }
    oConnection.Open();
    return cmd.ExecuteReader(CommandBehavior.CloseConnection);
    }
    }



    public static object ExecuteScalar(String procedureName)
    {
    SqlConnection oConnection = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connect"].ToString());

    SqlCommand oCommand = new SqlCommand(procedureName, oConnection);



    oCommand.CommandType = CommandType.StoredProcedure;

    object oReturnValue;

    oConnection.Open();

    using (SqlTransaction oTransaction = oConnection.BeginTransaction())
    {

    try
    {

    oCommand.Transaction = oTransaction;

    oReturnValue = oCommand.ExecuteScalar();

    oTransaction.Commit();

    }

    catch
    {

    oTransaction.Rollback();

    throw;

    }

    finally
    {

    if (oConnection.State == ConnectionState.Open)

    oConnection.Close();

    oConnection.Dispose();

    oCommand.Dispose();

    }

    }

    return oReturnValue;

    }



    public static object ExecuteScalar(String procedureName, SqlParameter[] parameters)
    {

    SqlConnection oConnection = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connect"].ToString());

    SqlCommand oCommand = new SqlCommand(procedureName, oConnection);



    oCommand.CommandType = CommandType.StoredProcedure;

    object oReturnValue;

    oConnection.Open();



    try
    {

    if (parameters != null)

    oCommand.Parameters.AddRange(parameters);




    oReturnValue = oCommand.ExecuteScalar();



    }

    catch
    {



    throw;

    }

    finally
    {

    if (oConnection.State == ConnectionState.Open)

    oConnection.Close();

    oConnection.Dispose();

    oCommand.Dispose();

    }



    return oReturnValue;

    }






    public static int ExecuteNonQuery(string procedureName)
    {

    SqlConnection oConnection = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connect "].ToString());

    SqlCommand oCommand = new SqlCommand(procedureName, oConnection);



    oCommand.CommandType = CommandType.StoredProcedure;

    int iReturnValue;

    oConnection.Open();

    using (SqlTransaction oTransaction = oConnection.BeginTransaction())
    {

    try
    {

    oCommand.Transaction = oTransaction;

    iReturnValue = oCommand.ExecuteNonQuery();

    oTransaction.Commit();

    }

    catch
    {

    oTransaction.Rollback();

    throw;

    }

    finally
    {

    if (oConnection.State == ConnectionState.Open)

    oConnection.Close();

    oConnection.Dispose();

    oCommand.Dispose();

    }

    }

    return iReturnValue;

    }



    public static int ExecuteNonQuery(string procedureName, SqlParameter[] parameters)
    {

    SqlConnection oConnection = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["connect "].ToString());

    SqlCommand oCommand = new SqlCommand(procedureName, oConnection);



    oCommand.CommandType = CommandType.StoredProcedure;

    int iReturnValue;

    oConnection.Open();

    using (SqlTransaction oTransaction = oConnection.BeginTransaction())
    {

    try
    {

    if (parameters != null)

    oCommand.Parameters.AddRange(parameters);



    oCommand.Transaction = oTransaction;

    iReturnValue = oCommand.ExecuteNonQuery();

    oTransaction.Commit();

    }

    catch
    {

    oTransaction.Rollback();

    throw;

    }

    finally
    {

    if (oConnection.State == ConnectionState.Open)

    oConnection.Close();

    oConnection.Dispose();

    oCommand.Dispose();

    }

    }

    return iReturnValue;

    }






    public static SqlParameter MakeInParam(string ParamName, SqlDbType DbType, int Size, object Value)
    {
    return MakeParam(ParamName, DbType, Size, ParameterDirection.Input, Value);
    }
    public static SqlParameter MakeInParam(string ParamName, SqlDbType DbType, object Value)
    {
    return MakeParam(ParamName, DbType, 0, ParameterDirection.Input, Value);
    }


    public static SqlParameter MakeOutParam(string ParamName, SqlDbType DbType, int Size)
    {
    return MakeParam(ParamName, DbType, Size, ParameterDirection.Output, null);
    }


    public static SqlParameter MakeParam(string ParamName, SqlDbType DbType, Int32 Size, ParameterDirection Direction, object Value)
    {
    SqlParameter param;
    if (Size > 0)
    {
    param = new SqlParameter(ParamName, DbType, Size);
    }
    else
    {
    param = new SqlParameter(ParamName, DbType);
    }
    param.Direction = Direction;
    if (!(Direction == ParameterDirection.Output && Value == null))
    {
    param.Value = Value;
    }
    return param;
    }



    }
    }


    Web.config içeriği kodlar

    <appSettings>
    <clear />
    <add key="Mailhost" value="mailhostgelecek" />
    <add key="Mailad" value="mailadgelecek" />
    <add key="Mailpass" value="şifregelecek" />
    <add key="Siteyenile" value="6000" />
    <add key="Mailport" value="587" />
    <add key="webpages:Version" value="2.0.0.0" />
    <add key="webpages:Enabled" value="false" />
    <add key="PreserveLoginUrl" value="true" />
    <add key="ClientValidationEnabled" value="true" />
    <add key="UnobtrusiveJavaScriptEnabled" value="true" />
    <add key="connect" value="Data Source=; Initial Catalog=Haber;Integrated Security=SSPI;" />
    <add key="webpages:Version" value="2.0.0.0" />
    </appSettings>


    Areas/Admin içerisine, indirmiş öldüğümüz dosya içerisindeki img,Js,Css bu üç dosyayı Atıyoruz
    .
    Views /shared içerisine new item deyip Bir tane Mvc 4 Layout Page, Yani Masterpage ekliyoruz ismine Yonetim diye adlandiriyoruz
    gene indirmiş olduğumuz dosyadaki İndex.html kaynak kodlarını alıp Masterpage,ye ekliyoruz

    aşağdakiler değişecek
    <link rel="stylesheet" type="text/css" href="css/style.css" media="screen" />

    <link rel="stylesheet" type="text/css" href="css/navi.css" media="screen" />
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script> bunlar
    Şe şekilde değişecek

    <link href="~/Areas/Admin/css/navi.css" rel="stylesheet" />
    <script src="~/Areas/Admin/js/jquery-1.7.2.min.js" type="text/javascript"></script>

    <link href="~/Areas/Admin/css/style.css" rel="stylesheet" />

    <div id="main">burası bizim contentplace alanımız olacak yanı içerik alanı diğer kısımlar genelde hep aynı kalacak şimdı <div id="main">içerisindekilerinin hepsini siliyoruz ve şu şekilde değiştiriyoruz <div id="main">@RenderBody()</div>

    en son Areas son hali şu şekilde olacak





    Yonetim.cshtml kodlar

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <meta name="author" content="Pawel 'kilab' Balicki - kilab.pl" />
    <title>SimpleAdmin</title>

    <link href="~/Areas/Admin/css/navi.css" rel="stylesheet" />
    <script src="~/Areas/Admin/js/jquery-1.7.2.min.js" type="text/javascript"></script>

    <link href="~/Areas/Admin/css/style.css" rel="stylesheet" />

    <script src="~/Areas/Admin/js/jquery.validate.min.js" type="text/javascript"></script>
    <script src="~/Areas/Admin/js/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
    <script type="text/javascript">
    $(function () {
    $(".box .h_title").not(this).next("ul").hide("normal");
    $(".box .h_title").not(this).next("#home").show("normal");
    $(".box").children(".h_title").click(function () { $(this).next("ul").slideToggle(); });
    });
    </script>
    </head>
    <body>
    <div class="wrap">
    <div id="header">
    <div id="top">
    <div class="left">
    <p>Welcome, <strong>Pawel B.</strong> [ <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">logout</a> ]</p>
    </div>
    <div class="right">
    <div class="align-right">
    <p>Last login: <strong>23-04-2012 23:12</strong></p>
    </div>
    </div>
    </div>
    <div id="nav">
    <ul>
    <li class="upp"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=#" data-href="#">Haber Yönetimi</a>
    <ul>
    <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Haberler", "Haber", new {Sayfano=0 })" data-href="@Url.Action("Haberler", "Haber", new {Sayfano=0 })">Haberler</a></li>
    <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Yorumlar", "Haber", new {Sayfano=0 })" data-href="@Url.Action("Yorumlar", "Haber", new {Sayfano=0 })">Haber Yorumları</a></li>
    <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Ekle","Haber")" data-href="@Url.Action("Ekle","Haber")">Haber Ekle</a></li>
    <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Kategoriekle","Haber")" data-href="@Url.Action("Kategoriekle","Haber")">Haber Kategori Ekle</a></li>
    <li><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Kategoriler", "Haber")" data-href="@Url.Action("Kategoriler", "Haber")">Haber Kategorileri</a></li>
    </ul>
    </li>
    <li class="upp"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=#" data-href="#">Manage content</a>
    <ul>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Show all pages</a></li>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Add new page</a></li>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Add new gallery</a></li>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Categories</a></li>
    </ul>
    </li>
    <li class="upp"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=#" data-href="#">Users</a>
    <ul>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Show all uses</a></li>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Add new user</a></li>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Lock users</a></li>
    </ul>
    </li>
    <li class="upp"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=#" data-href="#">Settings</a>
    <ul>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Site configuration</a></li>
    <li>› <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Contact Form</a></li>
    </ul>
    </li>
    </ul>
    </div>
    </div>

    <div id="content">
    <div id="sidebar">
    <div class="box">
    <div class="h_title">› Haberler</div>
    <ul id="home">
    <li class="b1"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Haberler", "Haber", new {Sayfano=0 })" data-href="@Url.Action("Haberler", "Haber", new {Sayfano=0 })">Haberler</a></li>
    <li class="b2"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Yorumlar", "Haber", new {Sayfano=0 })" data-href="@Url.Action("Yorumlar", "Haber", new {Sayfano=0 })">Haber Yorumları</a></li>
    <li class="b1"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Ekle","Haber")" data-href="@Url.Action("Ekle","Haber")">Haber Ekle</a></li>
    <li class="b2"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Kategoriekle","Haber")" data-href="@Url.Action("Kategoriekle","Haber")">Haber Kategori Ekle</a></li>
    </ul>
    </div>

    <div class="box">
    <div class="h_title">› Manage content</div>
    <ul>
    <li class="b1"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Show all pages</a></li>
    <li class="b2"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Add new page</a></li>
    <li class="b1"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Add new gallery</a></li>
    <li class="b2"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Categories</a></li>
    </ul>
    </div>
    <div class="box">
    <div class="h_title">› Users</div>
    <ul>
    <li class="b1"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Show all users</a></li>
    <li class="b2"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Add new user</a></li>
    <li class="b1"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Lock users</a></li>
    </ul>
    </div>
    <div class="box">
    <div class="h_title">› Settings</div>
    <ul>
    <li class="b1"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Site configuration</a></li>
    <li class="b2"><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Contact Form</a></li>
    </ul>
    </div>
    </div>
    <div id="main">@RenderBody()</div>
    <div class="clear"></div>
    </div>

    <div id="footer">
    <div class="left">
    <p>Design: <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=http://kilab.pl" data-href="http://kilab.pl">Pawel Balicki</a> | Admin Panel: <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">YourSite.com</a></p>
    </div>
    <div class="right">
    <p><a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Example link 1</a> | <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=" data-href="">Example link 2</a></p>
    </div>
    </div>
    </div>

    </body>
    </html>





    Şimdide Admin Controllers sağ tiklayıp Index adında bir controller oluşturalım

    public ActionResult Index()
    {
    return View();
    }

    Burda Index sağ tiklayıp bir view oluşturalim Index adında burası anasayfamız olacak çaliştirib değişikliği görelim

    Şimdi habere kategori ekleme düzenleme silme işlemlerini yapacağız

    Haber diye bir tane controller oluşturuyoruz
    Ve hepsine birer tane view ekliyoruz resim şekil



    Şimdi haber katagoriekleme,de düzenlemeler olacak .ilk başta indirdiğimiz Yonetim paneli şablonunun içerisindeki index.html açip şu satiri buluyoruz
    <div class="full_w">
    <div class="h_title">Add new page - form elements</div>
    <form action="" method="post">
    <div class="element">
    <label for="name">Page title <span class="red">(required)</span></label>
    <input id="name" name="name" class="text err">
    </div>
    <div class="element">
    <label for="category">Category <span class="red">(required)</span></label>
    <select name="category" class="err">
    <option value="0">-- select category</option>
    <option value="1">Category 1</option>
    <option value="2">Category 4</option>
    <option value="3">Category 3</option>
    </select>
    </div>
    <div class="element">
    <label for="comments">Comments</label>
    <input name="comments" value="on" checked="checked" type="radio"> Enabled <input name="comments" value="off" type="radio"> Disabled
    </div>
    <div class="element">
    <label for="attach">Attachments</label>
    <input name="attach" type="file">
    </div>
    <div class="element">
    <label for="content">Page content <span>(required)</span></label>
    <textarea name="content" class="textarea" rows="10"></textarea>
    </div>
    <div class="entry">
    <button type="submit">Preview</button> <button type="submit" class="add">Save page</button> <button class="cancel">Cancel</button>
    </div>
    </form>
    </div>
    ve içindekilerinin hepsini kopyalayip Kategoriekle.cshtml ye ekliyoruz
    Şimdi Katagori eklemek için vritabanimizdaki, haberkategori tablosunu modelliyeceğiz
    Proje içerindeki Model sağ tiklayip Haberkategori diye bir tane class oluşturalim

    Burda iki tane referans ekliyeceğiz, bunun için Model de sağtiklayip add reference
    System.ComponentModel.DataAnnotations , System.Web.Mvc bu iki referansi ekliyoruz
    Ve kodlari giriyoruz
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Text;
    using System.Web.Mvc;
    namespace Model
    {

    [MetadataType(typeof(Dogrula))]
    public class Haberkategori
    {


    public int Katid { get; set; }
    public string Kategoriadi { get; set; }
    public string Seo_keywords { get; set; }
    public string Seo_description { get; set; }
    public Nullable<bool> Aktif { get; set; }


    public class Dogrula
    {
    [Required(ErrorMessage = "Kategori Adi Girmediniz")]
    public string Kategoriadi { get; set; }

    [Required(ErrorMessage = "seo keywords Girmediniz")]
    public string Seo_keywords { get; set; }

    [Required(ErrorMessage = "seo decriptions Girmediniz")]
    public string Seo_description { get; set; }
    }

    public Haberkategori()
    {
    }
    }
    }

    public class Dogrula
    {
    [Required(ErrorMessage = "Kategori Adi Girmediniz")]
    public string Kategoriadi { get; set; }

    [Required(ErrorMessage = "seo keywords Girmediniz")]
    public string Seo_keywords { get; set; }

    [Required(ErrorMessage = "seo decriptions Girmediniz")]
    public string Seo_description { get; set; }
    }
    public class Dogrula içerinside zorunlu alanlar girilmemişse yazilacak hata mesajlari var,şimdi projeyi build edelim ve Dal da sağtiklayip solutiondan kutu içerisinden modeli işaretliyip referansi ekleyelim yoksa modeli görmiyecek
    ayni şekilde Mvchaber dede dal ve modeli ekliyoruz



    şimdi Haber controller de ekleme işlemleri yapacağız

    public ActionResult Ekle()
    {
    Model.Haberkategori ekle = new Model.Haberkategori();


    return View();
    }

    [HttpPost]
    public ActionResult Ekle(Model.Haberkategori ekle)
    {
    return View();
    }

    tekrar Kategoriekle.cshtm gidelim ve şü şekilde değiştirelim burda bize girilmemiş alanlarin kontrolu için ,iki tane javascript dosyasi gerekecek bunlar jquery.validate.unobtrusive.min.js ve jquery.validate.min.js bunlari Yonetim.cshtml ye ekliyoruzki tüm sayfalarda taninsin son şekli ile


    @{
    ViewBag.Title = "Kategoriekle";
    Layout = "~/Areas/Admin/Views/Shared/Yonetim.cshtml";
    }

    @model Model.Haberkategori

    <div class="full_w">
    <div class="h_title">Katagori Ekle</div>
    @using (Html.BeginForm("Kategoriekle", "Haber", FormMethod.Post))
    {



    <div class="element">
    <label for="name">Kategori Adi <span class="red"> Zorunlu</span></label>
    @Html.TextBoxFor(model=>model.Kategoriadi)<br />@Html.ValidationMessageFor(model=>model.Kategoriadi)
    </div>
    <div class="element">
    <label for="name">Seo Description<span class="red"> Zorunlu</span></label>
    @Html.TextBoxFor(model=>model.Seo_description)<br />@Html.ValidationMessageFor(model=>model.Seo_description)
    </div>
    <div class="element">
    <label for="name">Seo Keywords<span class="red"> Zorunlu</span></label>
    @Html.TextBoxFor(model=>model.Seo_keywords)<br />@Html.ValidationMessageFor(model=>model.Seo_keywords)
    </div>

    <div class="element">
    <label for="comments">Kategori Durumu</label>
    <label>@Html.RadioButtonFor(model=>model.Aktif,true) Aktif</label>
    <label>@Html.RadioButtonFor(model=>model.Aktif,false) Pasif</label>
    </div>



    <div class="entry">
    <button type="submit" class="add">Kaydet</button>
    </div>
    }
    </div>





    @Html.ValidationMessageFor(model=>model.Seo_keywords) gibi olan satırlar girilmemiş alanlar için hata mesajlari veren kisimlardir
    @model Model.Haberkategori burda Model deki Haberkategori alanlarini kullanacağimiz için ekledik @Html.TextBoxFor(model=>model.Seo_keywords) Html çiktisinda bu şu hale geliyor
    <input class="input-validation-error" data-val="true" data-val-required="seo keywords Girmediniz" id="Seo_keywords" name="Seo_keywords" value="" type="text">

    id="Seo_keywords" name="Seo_keywords” dikkat edilirse modeldeki Haberkategori alanindaki isimle ayni public string Seo_keywords { get; set; }

    @using (Html.BeginForm("Kategoriekle", "Haber", FormMethod.Post)) { } bu verileri

    Haber controller deki Kategoriekle actionuna verileri gönderecek ilgili resimler







    bir dahaki konuda verileri artik ekliyeceğiz


    Şimdi verilerimizi artik veritabanina kaydedeceğiz Stored procedureleri yazalım

    create proc [dbo].[haberkategorisayfala]
    @yonetim int,
    @adet int

    as
    begin

    if(@yonetim=1)
    begin
    select * from Haberkategori
    end


    else

    begin
    select top(@adet) * from Haberkategori
    end
    end

    burda yonetim 1 se hepsini getirecek diyerinde ise @adet kadar getirecek




    create proc [dbo].[Yhaberkategorino_getir]

    @katid int

    as
    begin


    select * from Haberkategori where Katid=@katid and Katid=@katid



    end


    ***********************************************************************************
    create proc [dbo].[YHaberkategori_duzenle]

    @Katid int,
    @Kategoriadi nvarchar(100),
    @Seo_keywords nvarchar(100),
    @Seo_description nvarchar(100),
    @Aktif bit

    as
    begin
    update Haberkategori set Kategoriadi=@Kategoriadi,Seo_description=@Seo_description,Seo_keywords=@Seo_keywords
    ,Aktif=@Aktif where Katid=@Katid

    End

    **********************************************************************
    create proc [dbo].[Haberkategorisil]

    @katid int
    as
    begin

    delete Haberkategori where Katid=@katid

    end


    ************************************************************************
    create proc [dbo].[YHaberkategori_ekle]


    @Kategoriadi nvarchar(100),
    @Seo_keywords nvarchar(100),
    @Seo_description nvarchar(100),
    @Aktif bit

    as
    begin
    insert into Haberkategori (Kategoriadi,Seo_keywords,Seo_description,Aktif)
    values(@Kategoriadi,@Seo_keywords,@Seo_description,@Aktif)

    end

    ******************************************************************************************************

    şimdide dal da sağt iklayip Kategoriislem diye bir tane class oluşturalim

    ve şunlari girelim

    using System;
    using System.Collections.Generic;
    using System.Data;
    using System.Data.SqlClient;
    using System.Linq;
    using System.Text;

    namespace Dal
    {
    public static class Kategoriislem
    {

    public static void Kategoriekle(string storeproc, Model.Haberkategori ekle)
    {

    SqlParameter[] parametre = new SqlParameter[4]
    {

    Dal.Yardimci.MakeInParam("@Kategoriadi",SqlDbType.NVarChar,ekle.Kategoriadi),
    Dal.Yardimci.MakeInParam("@Seo_description",SqlDbType.NVarChar,ekle.Seo_description),
    Dal.Yardimci.MakeInParam("@Seo_keywords",SqlDbType.NVarChar,ekle.Seo_keywords),
    Dal.Yardimci.MakeInParam("@Aktif",SqlDbType.Bit,ekle.Aktif),

    };

    Dal.Yardimci.ExecuteNonQuery(storeproc, parametre);
    }


    public static void Kategoriduzenle(string storeproc, Model.Haberkategori duzenle)
    {

    SqlParameter[] parametre = new SqlParameter[5]
    {
    Dal.Yardimci.MakeInParam("@Katid",SqlDbType.Int,duzenle.Katid),
    Dal.Yardimci.MakeInParam("@Kategoriadi",SqlDbType.NVarChar,duzenle.Kategoriadi),
    Dal.Yardimci.MakeInParam("@Seo_description",SqlDbType.NVarChar,duzenle.Seo_description),
    Dal.Yardimci.MakeInParam("@Seo_keywords",SqlDbType.NVarChar,duzenle.Seo_keywords),
    Dal.Yardimci.MakeInParam("@Aktif",SqlDbType.Bit,duzenle.Aktif),

    };

    Dal.Yardimci.ExecuteNonQuery(storeproc, parametre);
    }

    public static List<Model.Haberkategori> Kategorinogetir(string storeproc, int Katid)
    {
    SqlParameter[] parametre = new SqlParameter[1]
    {
    Dal.Yardimci.MakeInParam("@katid",SqlDbType.Int,Katid),
    };

    List<Model.Haberkategori> liste = new List<Model.Haberkategori>();


    using (var reader = Yardimci.ExecuteReader(storeproc, CommandType.StoredProcedure, parametre))
    {
    liste = reader.MapToList<Model.Haberkategori>();
    }


    return liste;
    }
    public static List<Model.Haberkategori> Kategorisayfala(string storeproc,int yonetim, int adet)
    {
    SqlParameter[] parametre = new SqlParameter[2]
    {
    Dal.Yardimci.MakeInParam("@yonetim",SqlDbType.Int,yonetim),
    Dal.Yardimci.MakeInParam("@adet",SqlDbType.Int,adet),

    };

    List<Model.Haberkategori> liste = new List<Model.Haberkategori>();


    using (var reader = Yardimci.ExecuteReader(storeproc, CommandType.StoredProcedure, parametre))
    {
    liste = reader.MapToList<Model.Haberkategori>();
    }


    return liste;
    }

    public static void Kategoril(string storeproc, int katid)
    {

    SqlParameter[] parametre = new SqlParameter[1]
    {
    Dal.Yardimci.MakeInParam("@Katid",SqlDbType.Int,katid),


    };

    Dal.Yardimci.ExecuteNonQuery(storeproc, parametre);
    }
    }
    }




    Burada Dal.Yardimci.ExecuteNonQuery(storeproc, parametre); bu şekilde yaptikki
    Foto galeri,video galeri dede kullanabilelim kategori işlemlerinde hep buradan yapilacak


    Ve Haber Controller

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;

    namespace Mvchaber.Areas.Admin.Controllers
    {
    public class HaberController : Controller
    {


    public ActionResult Ekle()
    {



    return View();
    }



    public ActionResult Haberler(int Sayfano)
    {

    return View();
    }
    public ActionResult Kategoriler()
    {
    List<Model.Haberkategori> liste = Dal.Kategoriislem.Kategorisayfala("haberkategorisayfala", 1, 0);
    return View(liste);
    }
    public ActionResult Yorumlar()
    {
    return View();
    }
    public ActionResult Kategoriekle()
    {
    Model.Haberkategori ekle = new Model.Haberkategori();
    return View();
    }
    [HttpPost]
    public ActionResult Kategoriekle(Model.Haberkategori ekle)
    {

    Dal.Kategoriislem.Kategoriekle("YHaberkategori_ekle", ekle);
    return View();
    }

    public ActionResult Kategoriduzenle(int Sayfano)
    {
    Model.Haberkategori duzenle = Dal.Kategoriislem.Kategorinogetir("Yhaberkategorino_getir", Convert.ToInt32(Sayfano)).Single(m => Sayfano == m.Katid);

    return View(duzenle);
    }
    [HttpPost]
    public ActionResult Kategoriduzenle(Model.Haberkategori duzenle)
    {
    Dal.Kategoriislem.Kategoriduzenle("YHaberkategori_duzenle",duzenle);

    return View(duzenle);
    }
    public ActionResult Kategorisil(int Sayfano)
    {
    Dal.Kategoriislem.Kategoril("haberkategorisil", Sayfano);

    return RedirectToAction("Kategoriler", "Haber");


    }


    }
    }


    Kategoriduzenle view

    @{
    ViewBag.Title = "Kategoriekle";
    Layout = "~/Areas/Admin/Views/Shared/Yonetim.cshtml";
    }

    @model Model.Haberkategori

    <div class="full_w">
    <div class="h_title">Katagori Ekle</div>
    @using (Html.BeginForm("Kategoriduzenle", "Haber", FormMethod.Post))
    {

    <input type="hidden" name="Katid" value="@Model.Katid" />

    <div class="element">
    <label for="name">Kategori Adi <span class="red"> Zorunlu</span></label>
    @Html.TextBoxFor(model => model.Kategoriadi, new {@class="text err" })<br />@Html.ValidationMessageFor(model=>model.Kategoriadi)
    </div>
    <div class="element">
    <label for="name">Seo Description<span class="red"> Zorunlu</span></label>
    @Html.TextBoxFor(model=>model.Seo_description, new {@class="text err" })<br />@Html.ValidationMessageFor(model=>model.Seo_description)
    </div>
    <div class="element">
    <label for="name">Seo Keywords<span class="red"> Zorunlu</span></label>
    @Html.TextBoxFor(model=>model.Seo_keywords, new {@class="text err" })<br />@Html.ValidationMessageFor(model=>model.Seo_keywords)
    </div>

    <div class="element">
    <label for="comments">Kategori Durumu</label>
    <label>@Html.RadioButtonFor(model=>model.Aktif,true) Aktif</label>
    <label>@Html.RadioButtonFor(model=>model.Aktif,false) Pasif</label>
    </div>



    <div class="entry">
    <button type="submit" class="add">Kaydet</button>
    </div>
    }
    </div>



    Kategoriler view

    @{
    ViewBag.Title = "Kategoriler";
    Layout = "~/Areas/Admin/Views/Shared/Yonetim.cshtml";
    }

    @model IEnumerable<Model.Haberkategori>



    <div class="full_w">
    <div class="h_title">Haber Kategorileri</div>


    <div class="entry">
    <div class="sep"></div>
    </div>
    <table>
    <thead>
    <tr>
    <th scope="col">Kategori No</th>
    <th scope="col">Kategori Adi</th>
    <th scope="col">Seo Keywords</th>
    <th scope="col">Seo Description</th>
    <th scope="col">Aktif</th>
    <th scope="col" style="width: 65px;">İşlemler</th>
    </tr>
    </thead>

    <tbody>
    @foreach (var item in Model)
    {


    <tr>
    <td class="align-center">@item.Katid</td>
    <td>@item.Kategoriadi</td>
    <td>@item.Seo_keywords</td>
    <td>@item.Seo_description</td>
    <td>@item.Aktif</td>
    <td>
    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Kategoriduzenle","Haber",new{Sayfano=@item.Katid})" class="table-icon edit" title="Düzenle" data-href="@Url.Action("Kategoriduzenle","Haber",new{Sayfano=@item.Katid})" class="table-icon edit" title="Düzenle"></a>

    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Kategorisil","Haber",new{Sayfano=@item.Katid})" class="table-icon delete" title="Sil" data-href="@Url.Action("Kategorisil","Haber",new{Sayfano=@item.Katid})" class="table-icon delete" title="Sil"></a>
    </td>
    </tr>
    }
    </tbody>
    </table>
    <div class="entry">

    <div class="sep"></div>
    <a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=90034222&url=@Url.Action("Kategoriekle","Haber")" data-href="@Url.Action("Kategoriekle","Haber")">Yeni Kategori Ekle </a>
    </div>
    </div>


    Kaynak Kodlar:http://www.teknobulvar.net/Ornek/Mvchaber.rar



    < Bu mesaj bu kişi tarafından değiştirildi bilalbb -- 2 Mayıs 2014; 17:49:50 >







  • Yapay Zeka’dan İlgili Konular
    Ücretsiz ASP.NET Portal
    9 yıl önce açıldı
    asp.net sql randevu sistemi
    11 yıl önce açıldı
    php ve javascript
    18 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.