mvc razor ile kayıt arama,radio grup, textbox ve button. örnek northwind db orders table



northwind db deki orders tablosunda arama yapmak için bir textbox ve bir button ile hangi sütunda arama yapılacağının seçildiği radio buttonlar aşağıda gösterilmiştir.




controller ;


public ActionResult SiparislerFiltre(string arananTxt, string S)
        {
            var Siparisler = from p in db.Orders select p;
            int id = Convert.ToInt32(Request["AramaTipi"]);
            var searchParameter = "Aranan ";

if (!string.IsNullOrWhiteSpace(arananTxt))
            {
                switch (id)
                {
                    case 0:
int iQ = int.Parse(arananTxt);
                        Siparisler = Siparisler.Where(p => p.OrderID.Equals(iQ));
searchParameter += " OrderID'ye göre ' " + arananTxt + " '";
                        break;
                    case 1:
Siparisler = Siparisler.Where(p => p.ShipCity.Contains(arananTxt));
searchParameter += " ShipCity'ye göre ' " + arananTxt + " '";
                        break;
                    case 2:
Siparisler = Siparisler.Where(p => p.ShipCountry.Contains(arananTxt));
searchParameter += " ShipCountry'ye göre '" + arananTxt + "'";
                        break;
                }
            }
            else
            {
                searchParameter += " Tümü ";
            }
            ViewBag.SearchParameter = searchParameter;
            ViewBag.KayitSayisi = Siparisler.Count().ToString();

            return View("Index",Siparisler.ToList());
        }



View:

@using (Html.BeginForm("SiparislerFiltre", "Orders", FormMethod.Get, new { @class = "Search-form" }))
{
    <div id="txtBox">
        @Html.Label("Filtrele :")
        <input type="text" name="arananTxt"  />
        <button type="submit" class="btn btn-default"><span class="glyphicon glyphicon-search"></span></button>
    </div>
    <div id="radioList">
        @Html.RadioButton("AramaTipi", "0")
        @Html.Label("OrderID")
        @Html.RadioButton("AramaTipi", "1", true)
        @Html.Label("ShipCity")
        @Html.RadioButton("AramaTipi", "2")
        @Html.Label("ShipCountry")
    </div>   
    <div id="div_AraSonuc">
        @{
    if (!string.IsNullOrEmpty(ViewBag.SearchParameter))
    {
        if (Model.Count() > 0)
        {
            <div><strong> @ViewBag.SearchParameter</strong> | (@ViewBag.KayitSayisi)  @Html.Label(" Kayıt bulundu")</div>
        }
    }
        }
    </div> 
 }

Yorumlar