مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

sun2rise

عضویت از 1393/01/18

مشکل در ارسال اطلاعات از کلاینت به سمت سرور بصورت پست بک

  • شنبه 12 خرداد 1397
  • 04:29
تشکر میکنم

سلام دوستان

من برای نوشتن لاگین بخش ادمین سایت یه مشکلی داشتم

البته اینم توضیح بدم که توی mvc تازه وارد هستم

مشکلم اینه که فرم رو میسازم و تکست باکس های نام کاربری و رمز عبور رو هم به درستی میذارم و وقتی میخوام روی دکمه کلیک میشه انتظار میره که به سمت سرور بره ولی این اتفاق نمیوفته برا همین من اومدم BeginForm رو بهش اکشن متد و کنترلرنیم دادم یعنی به صورت زیر

Html.BeginForm("Login","Login",FormMethod.Post))

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

من اون قسمتی که مشکل دارم رو کداشو میذارم لطف میکنید اگه بررسی کنید و راهنمایی کنید که چجوری باید این مشکلو حل کنم

تشکر

صفحه index

@model Asheyaneh.Areas.Admin.Models.Tbl_Operator
@{
    ViewBag.Title = "";
    Layout = null;
}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <!-- Vendor styles -->
    <link rel="stylesheet" href="/admin/css/material-design-iconic-font.min.css">
    <link rel="stylesheet" href="/admin/css/animate.min.css">
    <!-- App styles -->
    <link rel="stylesheet" href="/admin/css/app.min.css">
    <link href="/admin/css/custom.css" rel="stylesheet" />
</head>
<body data-ma-theme="green">

    <div class="login">

        @Html.Action("LoginPartial");

    </div>

    <!-- Older IE warning message -->
    <!--[if IE]>
        <div class="ie-warning">
            <h1>????? !!</h1>
            <p>You are using an outdated version of Internet Explorer, please upgrade to any of the following web browsers to access this website.</p>

            <div class="ie-warning__downloads">
                <a href="http://www.google.com/chrome">
                    <img src="img/browsers/chrome.png" alt="">
                </a>

                <a href="http://https@www.mozilla.org/en-US/firefox/new">
                    <img src="img/browsers/firefox.png" alt="">
                </a>

                <a href="http://www.opera.com/default.htm">
                    <img src="img/browsers/opera.png" alt="">
                </a>

                <a href="http://https@support.apple.com/downloads/safari">
                    <img src="img/browsers/safari.png" alt="">
                </a>

                <a href="http://https@www.microsoft.com/en-us/windows/microsoft-edge">
                    <img src="img/browsers/edge.png" alt="">
                </a>

                <a href="http://windows.microsoft.com/en-us/internet-explorer/download-ie">
                    <img src="img/browsers/ie.png" alt="">
                </a>
            </div>
            <p>Sorry for the inconvenience!</p>
        </div>
    <![endif]-->
    <!-- Javascript -->
    <!-- Vendors -->
    <script src="/admin/vendors/bower_components/jquery/dist/jquery.min.js"></script>
    <script src="/admin/vendors/bower_components/tether/dist/js/tether.min.js"></script>
    <script src="/admin/vendors/bower_components/bootstrap/dist/js/bootstrap.min.js"></script>
    <script src="/admin/vendors/bower_components/Waves/dist/waves.min.js"></script>
    <!-- App functions and actions -->
    <script src="/admin/js/app.min.js"></script>
</body>
</html>

صفحه پارشال ویو که فرم لاگین داخلشه


        <!-- Login -->
<div class="login__block active" id="l-login">
    <div class="login__block__header">
        <i class="zmdi zmdi-account-circle"></i>
        ورود به بخش مدیریت

        <div class="actions actions--inverse login__block__actions">
            <div class="dropdown">
                <i data-toggle="dropdown" class="zmdi zmdi-more-vert actions__item"></i>
                <div class="dropdown-menu dropdown-menu-left">
                    <a class="dropdown-item" data-ma-action="login-switch" data-ma-target="#l-forget-password" href="default.htm">فراموشی رمز عبور</a>
                </div>
            </div>
        </div>
    </div>
    @using (Html.BeginForm("Login","Login",FormMethod.Post))
    {

        @Html.AntiForgeryToken()
        <div class="login__block__body">
            @ViewBag.Alert
            <div class="form-group form-group--float form-group--centered">
                <input type="text" class="form-control" name="Username">
                <label> نام کاربری</label>
                <i class="form-group__bar"></i>
            </div>
            <div class="form-group form-group--float form-group--centered">
                <input type="password" class="form-control" name="Password">
                <label>رمز عبور</label>
                <i class="form-group__bar"></i>
            </div>
            @*<button class="btn btn--icon login__block__btn"><i class="zmdi zmdi-long-arrow-right"></i></button>*@
            <input type="submit" value="Create" class="btn btn-primary waves-effect" />
        </div>
    }
</div>

اینم کنترلر

using Asheyaneh.Areas.Admin.Models;
using Asheyaneh.Models;
using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Asheyaneh.Areas.Admin.Controllers
{
    public class LoginController : Controller
    {

        private AsheyanehContext db = new AsheyanehContext();
        // GET: Admin/Login
        public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        [ValidateAntiForgeryToken]
        public ActionResult Login(Tbl_Operator login)
        {
            Tbl_Operator op = new Tbl_Operator();
            DataTable dt = new DataTable();
            var list = db.Tbl_Operator.Where(c => c.UserName.ToLower() == login.UserName.ToLower() && c.Password == login.Password);
            if (list.Count()>0)
            {
                //int a = list.Count();
                //var s = list.OrderByDescending(x => x.ID);
               
               return Redirect("/admin/operator");
            }
            else
            {
                ViewBag.Alert = "<span style='color:red'>نام کاربری و رمز عبور اشتباه میباشد</span>";
            }
         
            return View("index");
        }

        public ActionResult LoginPartial()
        {
            return PartialView("Login");
        }
    }
}

پاسخ های این پرسش

تعداد پاسخ ها : 5 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 12 خرداد 1397
  • 11:29

شما در کد زیر فرستادی به index

return View("index");

باید به شکل زیر عمل کنید 

return View(login);

کاربر سایت

sun2rise

عضویت از 1393/01/18

  • شنبه 12 خرداد 1397
  • 15:33

اینجوری هم زدم ولی فرم لاگین رو داخل صفحه مدیریت باز میکنه و پیغام خطا رو اونجا نشون میده و آدرس هم توی مرورگر به این شکل میشه http://localhost:23945/Admin/Login/Login

در حالی که میخوام روی این آدرس http://localhost:23945/Admin/Login بمونه

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • شنبه 12 خرداد 1397
  • 18:35

والا من متوجه منظورن نمیشم 

چرا لاگین در ادمین هست ؟ 

سیاست این کار چیست ؟ 

کاربر سایت

sun2rise

عضویت از 1393/01/18

  • شنبه 12 خرداد 1397
  • 22:54

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

کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • یکشنبه 13 خرداد 1397
  • 08:59

شما از هیچ سیستمی برای احراز هویت استفاده نکردید که بسیار نا امن است 

سیستم احراز هویت Identity 2

کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

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

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)