Google Analytics İzleme

21 Aralık 2011

MVC 3 ile sayfa geliştirme


WebGrid kullanımı
http://www.dotnetcurry.com/ShowArticle.aspx?ID=615
http://blog.bekijkhet.com/2011/03/mvc3-webgrid-html-helper-sorting.html
http://www.jasoncavett.com/2011/03/customizing-webgrid-with-jquery-ui.html
http://www.unboxedsolutions.com/sean/archive/2011/01/23/15964.aspx

DropDownList kullanımı

ViewBag özelliği

Html.Raw ve HtmlString

ASP.NET MVC 3 Razor ile Uygulama Geliştirme Yazı Dizisi

EFMVC - ASP.NET MVC 3 and Entity Framework 4.1 Code First

TinyMCE Editör kullanımı
http://yakupbugra.com/2011/07/asp-net-mvc-3-tinymce-editor-kullanimi.html
http://www.stefanprodan.eu/2011/06/wysiwyg-html-editors-for-asp-net-mvc/http://www.tinymce.com/tryit/jquery_plugin.php

TinyMCE Editörü ile girilen html değeri action metodu içinde almak için

[HttpPost, ValidateInput(false)]
public ActionResult Edit(FormCollection collection)
{
    // ...
}

şeklinde yazılmalıdır.
http://stackoverflow.com/questions/81991/a-potentially-dangerous-request-form-value-was-detected-from-the-client

jquery ui css framework'ünü kullanarak butonların css ayarlarını yapma:
http://www.filamentgroup.com/lab/styling_buttons_and_toolbars_with_the_jquery_ui_css_framework/

ASP.NET MVC: Use CSS on Html.ActionLink

MVC Razor Tip: Output Raw Unencoded HTML
ASP.NET: Use Url.Content() from Razor to Resolve Relative URLs

Unobtrusive jQuery Validation Using MVC3 and Razor

OpenID nedir, ASP.NET MVC ile nasıl kullanılır?

ASP.NET MVC 3 Razor ile Uygulama Geliştirme Yazı Dizisi 8 – Html Helper’larıyla Css, Javascript Kullanmak ve Html Helper’ların Attribute’lerini Kullanmak

The Big View Engine Comparison – Razor vs. Spark vs. NHaml vs. Web Forms View Engine

HTML Helpers For Forms In Razor Web Pages

Razor, MVC3 - a readonly textbox

ASP.NET MVC 3 Razor ile Uygulama Geliştirme Yazı Dizisi 7 – HTML.Form ve Html.Helper’larının Kullanımı 2 (HTML Helpers)

ASP.NET MVC 3: Integrating with the jQuery UI date picker and adding a jQuery validate date range validator

---------------
21.06.2012

int32? tipli field'in client side validation esnasında 0 (sıfır) 'a hata vermesi:
Bu hatayı engellemek için jquery ile document ready esnasında


$.validator.methods.number = function (value, element) {
                    //debugger;
                    if (Globalize.parseFloat(value).toString()!="NaN") { //if (Globalize.parseFloat(value)) { //if ($.global.parseFloat(value)) {
                        return true;
                    }
                    return false;
                }


şeklinde tanımlama yapılmalıdır.

Kaynak:
http://stackoverflow.com/questions/5276531/decimal-is-not-validated-correctly-in-mvc-3-with-jquery-validator

--
DataTime tipindeki değişkeni Date olarak görüntüleme ve edit yapmayı sağlama:


[DataType(DataType.Date)]
[DisplayFormat(DataFormatString = "{0:MM/dd/yyy}" )]
public DateTime RecipeDate{ get; set; }

Kaynak:
http://stackoverflow.com/questions/7459071/format-datetime-to-date-in-mvc3

-------------------
22.06.2012

checkbox'ı zorunlu olarak seçilmesini sağlama; bu özellik daha çok Başvuru koşullarını kabul ediyorum şeklinde çalışan sayfalar için kullanılmaktadır.

Yeni attribute tanımlarız:


public class BooleanRequiredAttribute : ValidationAttribute, IClientValidatable
{
    public override bool IsValid(object value)
    {
        if (value is bool)
            return (bool)value;
        else
            return true;
    }

    public IEnumerable<ModelClientValidationRule> GetClientValidationRules(
        ModelMetadata metadata,
        ControllerContext context)
    {
        yield return new ModelClientValidationRule
                            {
                                ErrorMessage = FormatErrorMessage(metadata.GetDisplayName()),
                                ValidationType = "booleanrequired"
                            };
    }
}


View modelinde ilgili property'e attribute'u ekleriz:


[BooleanRequired(ErrorMessage = "You must accept the terms and conditions.")]
[Display(Name = "I accept the terms and conditions")]
public bool TermsAndConditionsAccepted { get; set; }


Web view sayfası kodu ise şöyle olacak:


@model MyModel@using (Html.BeginForm())
{
    <fieldset>
        <legend>Terms and Conditions</legend>
        @Html.ValidationSummary(true, "Please correct the errors and try again.")
        <p>
            Lorem ipsum dolor sit amet, consectetur adipiscing elit.
            Fusce facilisis ullamcorper consequat. Vestibulum non sapien lectus.
            Nullam at quam eu sapien mattis ultrices.
        </p>
        <ol>
            <li>
                @Html.CheckBoxFor(m => m.TermsAndConditionsAccepted)
                @Html.LabelFor(m => m.TermsAndConditionsAccepted, new { @class = "checkbox" })
                @Html.ValidationMessageFor(m => m.TermsAndConditionsAccepted)
            </li>
        </ol>
        <input type="submit" value="Submit" />
    </fieldset>
}



<script type="text/javascript">
    (function ($) {
        $.validator.unobtrusive.adapters.addBool("booleanrequired", "required");
    } (jQuery));
</script>


Bu doğrulama ClientValidationEnabled  ve UnobtrusiveJavaScriptEnabled özellikleri açık olan uygulamada çalışmaktadır.

Kaynak:
http://blog.degree.no/2012/03/validation-of-required-checkbox-in-asp-net-mvc/

--------------------------------------
02.07.2012

Required DataAnnotation'ları lokalizasyon yapma ve clintside tarafında validation sorununu kaldırma:

Kaynak:
Simplified localization for DataAnnotations
http://blog.gauffin.org/2010/11/simplified-localization-for-dataannotations/
Making custom dataannotation attributes work with MVC client side validation
http://blog.gauffin.org/2011/08/making-custom-dataannotation-attributes-work-with-mvc-client-side-validation/



Hiç yorum yok: