ASP.NET MVC4 Notlar

Bir sayfaya giriş yapmayı zorunlu hale getirmek için Controller içindeki action başına  [Authorize] getirilmesi yeterlidir.

[Authorize]
public ActionResult Index()
{
return View(db.isler.ToList());
}

Bir controllerdaki tüm actionlara giriş yapmayı zorunlu hale getirmek için ise aşağıdaki gibi Controller üstüne  [Authorize] komutunu eklememiz gerekir.

namespace Portal.Controllers
{
[Authorize]
public class IslerController : Controller
{

@User.Identity.IsAuthenticated  ile istediğimiz html sayfalarında giriş yapılıp yapılmadığını denetleyebiliriz.

[Authorize(Users = “aeren”)]

komutuyla da kullanıcı adına göre yetki araması yapılabilir.


.cshtml dosyasında browser tipini alma.

Merhaba bu sayfayı @Request.Browser.Browser kullanarak açtınız. twitter takibi için @@alieren

 

header da dropdown menü için _layout.cshtml sayfasında aşağıdaki değişiklik yapılmalıdır.

<div class=”navbar-collapse collapse”>
<ul class=”nav navbar-nav”>
<li>@Html.ActionLink(“Anasyfa”, “Index”, “Home”)</li>
<li>@Html.ActionLink(“Hakkında”, “About”, “Home”)</li>
<li>@Html.ActionLink(“iletişim”, “Contact”, “Home”)</li>
<li>
<a href=”#” class=”dropdown-toggle” data-toggle=”dropdown”><span class=”fa fa-database”></span>Modüller<b class=”caret”></b></a>
<ul class=”dropdown-menu”>
<li>@Html.ActionLink(“Birim Kategorileri”, “Index”, “BirimKategorileri”)</li>
<li>@Html.ActionLink(“Birimler”, “Index”, “Birimler”)</li>
<li>@Html.ActionLink(“Personel Bilgileri”, “Index”, “PersonelBilgileri”)</li>
<li>@Html.ActionLink(“Personeller”, “Index”, “Personel”)</li>
</ul>
</li></ul>
@Html.Partial(“_LoginPartial”)
</div>

 

form içerisinde doğrulama (validation) yapılmak istenirse modelde required olarak belirtilmesi gerekir. Ayrıca using System.ComponentModel.DataAnnotations;

using System.ComponentModel.DataAnnotations;
public partial class duyurular
{
public int id { get; set; }
[Required]
public string ad { get; set; }
[Required]
public string birim { get; set; }
[Required]
public string konu { get; set; }
[Required]
public string not { get; set; }
}

view kısmında <td>@Html.ValidationMessageFor(model => model.ad)</td>

<fieldset>
<legend>duyurular</legend>
<table style=”background-color:#8cc0e6 ; padding:2px” >
<tr>
<td><b>Kayıt Oluşturan Adı</b></td>
<td>@Html.EditorFor(model => model.ad)</td>
</tr>
<tr>
<td>@Html.ValidationMessageFor(model => model.ad)</td>
</tr>
<tr>
<td><b>İlgili Birim</b></td>
<td>@Html.EditorFor(model => model.birim)</td>
</tr>
<tr>
<td>@Html.ValidationMessageFor(model => model.birim)</td>
</tr>
<tr>
<td><b>Konu</b></td>
<td>@Html.EditorFor(model => model.konu)</td>
</tr>
<tr>
<td>@Html.ValidationMessageFor(model => model.konu)</td>
</tr>
<tr>
<td><b>İlan</b></td>
<td>@Html.TextAreaFor(model => model.not, new { cols = 15, @rows = 2 })</td>
</tr>
<tr>
<td>@Html.ValidationMessageFor(model => model.not)</td>
</tr>
</table>
<p>
<input type=”submit” value=”İlan Et” />
</p>
</fieldset>

form datasının viewde alınıp görüntülenmesi istenirse.

@{
if (IsPost) {
string kayiteden = Request.Form[“adi”];
string birimi = Request.Form[“birim”];
string konu = Request.Form[“konu”];
string not = Request.Form[“not”];
if (kayiteden!=””){
<text> tüm alanları doldurdunuz. </text>
}
else {
<text>Boş alanlar var. </text>
}
}
}
<form method=”post”>
<table style=”background-color:#eb8f52″>
<tr>
<td>Kayıt Oluşturan Kişi</td>
<td><input type=”text” name=”adi” value=”@Request.Form[“adi”]” /></td>
<td> @Html.ValidationMessage(“adi”) </td>
</tr>
<tr>
<td>İlgili Birim</td>
<td><input type=”text” name=”birim” value=”@Request.Form[“birim”]” /></td>
<td> @Html.ValidationMessage(“birim”) </td>
</tr>
<tr>
<td>Konu</td>
<td><input type=”text” name=”konu” value=”@Request.Form[“konu”]” /></td>
<td> @Html.ValidationMessage(“konu”) </td>
</tr>
<tr>
<td>Not</td>
<td><textarea name=”not” maxlength=”250″ rows=”4″></textarea></td>
<td> @Html.ValidationMessage(“not”) </td>
</tr>
</table>
<button>Bilgiyi Duyur</button>
</form>