ably ably برای هدایت شدن به سایت جدید اینجا کلیک کنید

آموزش برنامه نویسی

آموزش برنامه نویسی وب، اندروید، ویندوز , اسکیوال و...
Tell: 0912 097 5516
| Email: Hello@EduOnline.ir

۵ مطلب با کلمه‌ی کلیدی «JSON» ثبت شده است

jQuery ajax در ASP.NET MVC

بسم الله الرحمن الرحیم

                     

 ارسال چندین فرم به صورت HttpPost

در بسیاری از فرم ها و صفحات شما نیاز دارید که اطلاعات را به چندین فرم مختلف ارسال کنید، در  ASP.NET MVC انجام این کار بسیار ساده خواهد بود زیرا شما می توانید فرم های زیادی را در صفحه ایجاد کنید. اما اگر قرار باشد Button های مختلفی کنار یکدیگر قرار گیرند و هر یک اطلاعات خود را به فرمی خاص ارسال کنند، این کار ساده نخواهد بود.

به طور مثال Grid زیر را در نظر بگیرید:

ما می خواهیم وقتی بر روی هر یک از Button های بالا کلیک می کنیم، اطلاعات خاصی را برای Action های خود به صورت HttpPost ارسال کنیم.

Action  های ما نیز به صورت زیر خواهند بود:

[HttpPost]
public ActionResult Improve(long id)
{
   //My code is here....
}

[HttpPost]
public ActionResult Edit(long id)
{
   //My code is here....
}

[HttpPost]
public ActionResult Disable(long id)
{
   //My code is here....
}

[HttpPost]
public ActionResult Delete(long id)
{
   //My code is here....
}

ادامه مطلب...

اضافه کردن JSON به پروژه های MVC

بسم الله الرحمن الرحیم

آموزش jsonx

package های زیادی برای کار با JSON وجود دارد، در این جا ما ییک از این Package ها را با نام Newtonsoft.Json نصب خواهیم کرد تا بتوانیم توسط آن اطلاعات را ارسال و دریافت کنیم.

در صورتی که می خواهید به روش JSON در MVC اطلاعات را ارسال و دریافت کنید بهتر است که از قسمت Install package

دستور زیر را اجرا کتید

Install-Package Newtonsoft.Json

هر چند برای ارسال و دریافت به روش JSON فقط به یک چیز نیاز دارید و آن هم اضافه کردن فایل Jquery است

<script src="/Scripts/jquery-1.9.1.js"></script>

ارسال و دریافت اطلاعات به روش JSON

بّسم الله الرحمن الرحیم

آموزش json در mvc

چند نکته در این آموزش مهم است :

اولا یک صفحه HTML یا CSHTML ایجاد کتنید در بالای صفحه jquery را لود کنید

<script src="/Scripts/jquery-1.9.1.js"></script>

بعد کد زیر را در ابتدای body قرار دهید


$(document).ready(function () {
    $("#login").click(function () {
        $("#message").html("Logging in...");
        var data = { "userid": $("#userid").val(),
                     "password": $("#password").val(),
                     "rememberme":$("#rememberme").prop("checked") };
        $.ajax({
            url: "/account/validateuser",
            type: "POST",
           data: JSON.stringify(data),
            dataType: "json",
            contentType: "application/json",
            success: function (status) {
                $("#message").html(status.Message);
                if (status.Success)
                {
                    window.location.href = status.TargetURL;
                }
            },
            error: function () {
                $("#message").html("Error while authenticating
                                    user credentials!");
            }
        });
    });
});

این کد در واقع دارد اطلاعات دو TextBox با Id های userid و password را به همراه یک چک باکس برای یادآوری اطلاعات کاربری دریافت می کند و به یک اکشن ارسال می کند طبیعتا اکشن ما باید به شکل زیر باشد

ادامه مطلب...

طراحی فرم لاگین با استفاده از JSON

بسم الله الرحمن الرحیم

 

آموزش JSON در ASP.NET MVC

طراحی یک فرم لایگن با استفاده از روش JSON

مزیت این روش در این است که اگر شما بخواهید اطلاعات کاربر را چک کنید نیازی نیست تا ضفحه را رفرش کنید و کاربر در صورتی که کلمه عبور خود را فراموش کرده و می خواهد نام کاربری و کلمه عبور خود را تست کند مدت زیادی را برای لود شدن صفحه صرف کند

برای شروع کار ابتدا در webconfig کد زیر را اضافه کنید


<connectionStrings>
  <add name="connstr" connectionString="data source=.\sqlexpress;
initial catalog=Northwind;integrated security=true"/></connectionStrings>
<system.web>

  <authentication mode="Forms">   
<forms loginUrl="~/account/login" defaultUrl="~/home/index"></forms>
  </authentication>

  ...

</system.web>

و همچنین کد زیر را به webconfig اضافه کنید

 


<membership defaultProvider="p1">
  <providers>
    <add name="p1" connectionStringName="connstr"
                   type="System.Web.Security.SqlMembershipProvider" />
  </providers>
</membership>

 

 

 حال یک کنترلر برای چک کردن اطلاعات ایجاد می کنیم


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


[HttpPost]
public JsonResult ValidateUser(string userid, string password,
                               bool rememberme)
{   
LoginStatus status = new LoginStatus();
    if (Membership.ValidateUser(userid, password))   
{
        FormsAuthentication.SetAuthCookie(userid, rememberme);
        status.Success = true;
status.TargetURL = FormsAuthentication.GetRedirectUrl(userid, rememberme);

        if (string.IsNullOrEmpty(status.TargetURL))
        {
            status.TargetURL = FormsAuthentication.DefaultUrl;
        }
        status.Message = "Login attempt successful!";
    }
    else
    {
        status.Success = false;
        status.Message = "Invalid UserID or Password!";
        status.TargetURL = FormsAuthentication.LoginUrl;
    }
    return Json(status);
}

یک کلاس هم برای تعیین وضعیت کاربر در همان کنترلر ایجاد می کنیم


public class LoginStatus
{
    public bool Success { get; set; }
    public string Message { get; set; }
    public string TargetURL { get; set; }
}

یک صفحه HTML   یا CSHTML  ایجاد می کنیم که به شکل زیر است

 


$(document).ready(function () {
    $("#login").click(function () {
        $("#message").html("Logging in...");
        var data = { "userid": $("#userid").val(),
                     "password": $("#password").val(),
                     "rememberme":$("#rememberme").prop("checked") };
        $.ajax({
            url: "/account/validateuser",
            type: "POST",
           data: JSON.stringify(data),
            dataType: "json",
            contentType: "application/json",
            success: function (status) {
                $("#message").html(status.Message);
                if (status.Success)
                {
                    window.location.href = status.TargetURL;
                }
            },
            error: function () {
                $("#message").html("Error while authenticating
                                    user credentials!");
            }
        });
    });
});

 

برای جلوگیری از دسترسی کاربر به یکی از کنترلر ها مثلا برای کنترلر Home کد زیر را اضافه کنید تا وقتی که کاربر بخواهد به این صفحه دسترسی پیدا کند احراز هویت انجام شود

 

 


[Authorize]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        return View();
    }
}

برای اضافه کردن یک کاربر به membership باید به صورت زیر عمل کنیم. در فایل Global.asax کد زیر را اضافه کنید

 


protected void Application_Start()
{
...
 MembershipCreateStatus status;

  Membership.CreateUser("User1",   "some_password_here", "user1@somewebsite.com",
  "question", "answer", true, out status);
}

 

آموزش Remote در asp.net mvc

بسم الله الرحمن الرحیم

 آموزش asp.net mvc

برای تعیین اعتبار یک فیلد مجموعه از DataAnnotations لازم ارائه گردید. قابلیت دیگری برای چک کردن یک مقدار وجود دارد که به صورت Ajax عمل می کند و از لود شدن دوباره یک صفحه جلوگیری می کند. طبیعتا همه ما فیلد نام کاربری مربوط به ثبت نام را درسایت های مختلف تکمیل کرده ایم و دیده ایم چطور وقتی که یک نام کاربری تکراری ثبت می کنیم خطای مربوطه را نمایش می دهد.

برای شروع کار یک پروژه جدید MVC ایجاد می کنیم و در بخش Model یک کلاس جدید با نام Account ایجاد و کد زیر را در آن می نویسیم:

namespace MvcApplication2.Models

{
    [Table("Account")]
    public class Account

    {

        [Key]
        [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        [Required]
        [Display(Name = "User name")]
        [Remote("ValidateUserName", "Account")]
        public string UserName { get; set; }

        [Required]
        [StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long.", MinimumLength = 6)]

        [DataType(DataType.Password)]
        [Display(Name = "New password")]
        public string NewPassword { get; set; }

        [DataType(DataType.Password)]
        [Display(Name = "Confirm new password")]
        [Compare("NewPassword", ErrorMessage = "The new password and confirmation password do not match.")]

        public string ConfirmPassword { get; set; }

    }

}

ادامه مطلب...
up
ما را در گوگل محبوب کنید