using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Web.UI;

namespace Ext.Net
{
    [ToolboxItem(false)]
    [ToolboxBitmap(typeof(JalaliDate), "Build.ToolboxIcons.Plugin.bmp")]
    [ToolboxData("<{0}:JalaliDate runat=\"server\" />")]
    [Description("")]
    public partial class JalaliDate : Plugin
    {
        public JalaliDate()
        {
            
        }

        protected override List<ResourceItem> Resources
        {
            get
            {
                List<ResourceItem> baseList = base.Resources;
                baseList.Capacity += 4;

                baseList.Add(new ClientScriptItem(typeof(JalaliDate), "Ext.Net.Build.Ext.Net.ux.plugins.JalaliDate.Jalali.js", "/ux/plugins/JalaliDate/Jalali.js"));
                baseList.Add(new ClientScriptItem(typeof(JalaliDate), "Ext.Net.Build.Ext.Net.ux.plugins.JalaliDate.JalaliDate.js", "/ux/plugins/JalaliDate/JalaliDate.js"));
                baseList.Add(new ClientScriptItem(typeof(JalaliDate), "Ext.Net.Build.Ext.Net.ux.plugins.JalaliDate.JalaliDatePlugin.js", "/ux/plugins/JalaliDate/JalaliDatePlugin.js"));
                baseList.Add(new ClientScriptItem(typeof(JalaliDate), "Ext.Net.Build.Ext.Net.ux.plugins.JalaliDate.JalaliDatePlugin-fa_IR.js", "/ux/plugins/JalaliDate/JalaliDatePlugin-fa_IR.js"));

                return baseList;
            }
        }

        [Category("0. About")]
        [Description("")]
        public override string InstanceOf
        {
            get
            {
                return "Ext.ux.JalaliDatePlugin";
            }
        }
    }
}
using System.ComponentModel;
using System.Xml.Serialization;
using Newtonsoft.Json;

namespace Ext.Net
{
    public partial class JalaliDate
    {
        [Browsable(false)]
        [EditorBrowsable(EditorBrowsableState.Always)]
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)]
        [XmlIgnore]
        [JsonIgnore]
        public override ConfigOptionsCollection ConfigOptions
        {
            get
            {
                ConfigOptionsCollection list = base.ConfigOptions;

                return list;
            }
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ext.Net
{
    public partial class JalaliDate
    {
        public JalaliDate(Config config)
        {
            this.Apply(config);
        }

        public static implicit operator JalaliDate(JalaliDate.Config config)
        {
            return new JalaliDate(config);
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Ext.Net
{
    public partial class JalaliDate
    {
        new public abstract partial class Builder<TJalaliDate, TBuilder> : Plugin.Builder<TJalaliDate, TBuilder>
            where TJalaliDate : JalaliDate
            where TBuilder : Builder<TJalaliDate, TBuilder>
        {
            public Builder(TJalaliDate component) : base(component) { }

        }
        public partial class Builder : JalaliDate.Builder<JalaliDate, JalaliDate.Builder>
        {
            public Builder() : base(new JalaliDate()) { }

            public Builder(JalaliDate component) : base(component) { }

            public Builder(JalaliDate.Config config) : base(new JalaliDate(config)) { }

            public static implicit operator Builder(JalaliDate component)
            {
                return component.ToBuilder();
            }
        }

        public JalaliDate.Builder ToBuilder()
        {
            return Ext.Net.X.Builder.JalaliDate(this);
        }

        public override IControlBuilder ToNativeBuilder()
        {
            return (IControlBuilder)this.ToBuilder();
        }
    }


    public partial class BuilderFactory
    {
        public JalaliDate.Builder JalaliDate()
        {
            return this.JalaliDate(new JalaliDate { ViewContext = this.HtmlHelper != null ? this.HtmlHelper.ViewContext : null });
        }

        public JalaliDate.Builder JalaliDate(JalaliDate component)
        {
            component.ViewContext = this.HtmlHelper != null ? this.HtmlHelper.ViewContext : null;
            return new JalaliDate.Builder(component);
        }

        public JalaliDate.Builder JalaliDate(JalaliDate.Config config)
        {
            return new JalaliDate.Builder(new JalaliDate(config) { ViewContext = this.HtmlHelper != null ? this.HtmlHelper.ViewContext : null });
        }
    }
}
This file contains needed js for this plugin
http://www.4shared.com/rar/jnbohggrce/JalaliDate.html

Now you can use date types as easy as this

@Html.X().DateField().Plugins(Html.X().JalaliDate())