Редактировать информацию профиля прямо с экрана профиля MVC c # - PullRequest
1 голос
/ 19 апреля 2019

Я строю веб-сайт структуры сущностей Model-View-Controller в c #.У меня есть страница профиля, которая отображает информацию о пользователе.Я хочу, чтобы пользователь мог редактировать информацию своего профиля, не переходя на совершенно другую страницу.

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

Есть идеи, как мне это сделать?

Вот моя разметка:

@using testproject.Models;
@using Microsoft.AspNet.Identity;


@{
    dynamic student; 
    string userID = User.Identity.GetUserId().ToString();
    using (var context = new ApplicationDbContext())
    {
        var query = from st in context.Profiles
                    where st.UserId == userID
                    select st;
         student = query.FirstOrDefault<Profile>();
    }
}

@{
    ViewBag.Title = "Profile Page";
}

<div class="jumbotron">
    <h1>ASP.NET</h1>    
</div>   
<div class="row">
    <h1> @student.FirstMidName @student.LastName 's Profile</h1>
</div>

Вот моя модель:

using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;

namespace testproject.Models
{
    public class Profile
    {
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ID { get; set; }
        public string UserId { get; set; }
        public string LastName { get; set; }
        public string FirstMidName { get; set; }
        public DateTime EnrollmentDate { get; set; }
        public string Bio { get; set; }


    }
}

Вот мой контроллер:

using Microsoft.AspNet.Identity;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using testproject.Models;

namespace testproject.Controllers
{
    public class PageController : Controller
    {
        // GET: Page
        public ActionResult Index()
        {
            Profile profile = new Profile();

            string userID = User.Identity.GetUserId().ToString();



            using (var context = new ApplicationDbContext())
            {
                var query = from st in context.Profiles
                            where st.UserId == userID
                            select st;

                var student = query.FirstOrDefault<Profile>();

                var name = student.FirstMidName;

            }



            return View();
        }
    }
}

В настоящее время я могу редактировать профиль только из автоматически сгенерированных скаффолдингов, созданных Visual Studio длямой профиль.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...