ynettep Ответов: 1

Текущий проект помогите пожалуйста.. C# MVC 4 новичок здесь помогите! ! ! !


В основном я хочу, чтобы пользователи сбросили пароль после первоначального входа в систему. Мне просто нужна помощь с методом обновления.Обновление пароля в базе данных.


Мой контроллер

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using jury_service.Models;

namespace jury_service.Controllers
{
    public class NewpasswordController : Controller
    {
        //
        // GET: /Newpassword/

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

        [HttpPost]           *blueerrorlinehere
        public ActionResult CreatePassword(CreateNewInfo login)
        {
            if (ModelState.IsValid)
            {
                //Retrieve User
                var uname = login.UpdateUser(login);
                var newpassword = login.UpdateUser(login);
                var confirmnewpassword = login.UpdateUser(login);

                if (uname != null)
                {
                    if
                        (newpassword == confirmnewpassword)
                    {
                        return Redirect("");
                    }

                    else
                    {
                        ModelState.AddModelError("Error", "Passwords Must Match");

                    }
                    return View();

                }
            }

        }
    
        //{
        //    if (ModelState.IsValid)
        //    {
        //        var ffcuser = UpdateInfoREcordByName(login.uname);
                
        //        //var valid = login.DoLogin();

        //        //if (valid)
        //        //{
        //        //    //return RedirectToAction("fccindex", "FCCLogin");
        //        //    return RedirectToAction("CreatePassword", "New password");
        //        //}
        //        ModelState.AddModelError("Error", "Wrong Username and/or Password");
        //        ModelState.Clear();

        //    }
        //    return View();
        //}

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

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




Смотреть

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
using System.Data.Entity;
using System.Web.Mvc;
using Newtonsoft.Json;
using System.Net;
using System.Web.Providers.Entities;
using jury_service.CommonService;

namespace jury_service.Models
{
    public class CreateNewInfo : BaseModel
    {

        [Display(Name = "Username")]
        [Required]
        public string uname { get; set; }

        //[Display(Name = "Old Password")]
        //[Required]
        //public string oldpassword { get; set; }

        [Display(Name = "New Password")]
        [Required]
        public string newpassword { get; set; }

        [Display(Name = "Confirm Password")]
        [Required]
        public string confirmnewpassword { get; set; }

        public CreateNewInfo(): base(new WebClient(), new CommonClient(), new Factory())
        {

        }


        //public CreateNewInfo(WebClient client)
        //{
        //    Client = client;
        //}

        //public FCC_Users infoModel;

        //public FCC_Users info;


        //public List<FCC_Users> infos;




        public FCC_Users UpdateUser(CreateNewInfo login)
        {
            try
            {
            //    //Add Request Headers
            //    Client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
            //    //Make Request to API and return results
            //    return JsonConvert.DeserializeObject<FCC_Users>(Client.DownloadString(new Uri(Properties.Settings.Default.Api_Url + "Info" + "?infoname=" + login.uname)));

                //Create Json object
              
                //Add Request Headers
                Client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
                //Make Request to API and return results
                return JsonConvert.DeserializeObject<FCC_Users>(Client.UploadString(new Uri(Properties.Settings.Default.Api_Url + "Info" + "?infoname=" + login.uname )));




            }
            catch (Exception ex)
            {
                return null;
            }


        }

        //        public FCC_Users UpdateInfoREcordByName(string infoName)
        //        {

        //            Client.Headers.Add(HttpRequestHeader.ContentType, "application/json");
        //            infoModel = JsonConvert.DeserializeObject<FCC_Users>(client.UploadString(client.DownloadString(url));
        //            return info;
        //        }
        //}

    }
}


Что я уже пробовал:

Ошибка:

[HttpPost] *blueerrorlinehere
public ActionResult CreatePassword(createnewinfo login)

Ошибка 1 ' jury_service.Контроллеры.NewpasswordController.CreatePassword(jury_service.Модели.CreateNewInfo)': не все пути кода возвращают значение





Строка ошибки в скобках
верните JsonConvert.DeserializeObject<fcc_users & gt;(клиент.UploadString(новый URI ("свойства".Настройки.По умолчанию.Api_Url + "Info"+"? infoname= " + login.uname )));

Сообщение об ошибке
Никакая перегрузка для метода 'UploadString' не принимает 1 аргумент

1 Ответов

Рейтинг:
12

Sergey Alexandrovich Kryukov

  1. Метод CreatePassword имеет два оператора возврата. Если ModelState.IsValid вычисляется значение false, ничего не возвращается. В случае истинности, если uname == null по-прежнему ничего не возвращается.
  2. return JsonConvert.DeserializeObject... - пожалуйста, предоставьте информацию об ошибке. Что-то может быть упущено, недокормлено и т. д.
  3. Посмотрите на подпись UploadString Скорее всего, вы пытаетесь использовать один из методов System.Net.WebClient.UploadString Посмотрите на их подписи:
    служба WebClient.Метод UploadString (System.Net).

    Как видите, ожидаются один-два параметра. Вы пытаетесь пройти Uri, но нет методов, ожидающих только этот параметр; вам нужно добавить один или два строковых параметра — пожалуйста, смотрите два последних метода.

    Теперь очень вероятно, что ошибка № 2 косвенно вызвана этой ошибкой, поэтому, пожалуйста, исправьте ее.


Я должен отметить, что все ошибки компиляции, с которыми вы сталкиваетесь, четко описаны в сообщениях об ошибках, очень четко. Вы должны научиться понимать их, что связано с пониманием синтаксиса и других фундаментальных и элементарных понятий языка и программирования.

—СА