Почему ввод и тип текстовой области не могут быть введены некоторые слова в ядре EF - PullRequest
0 голосов
/ 22 февраля 2020

Я пытаюсь сделать ef core edit page. Однако, когда я пытаюсь ввести несколько слов, тип ввода не щелкает, и я не могу написать ни одного слова. (кроме существующего) Вот код cshtml, который имеет проблему

@model PineBerry01.Models.BerrySuggest
@{
    ViewData["Title"] = "Edit";
}


<!--TODO: 여기서부터 다시 개발하기-->
<head>
    <link rel="stylesheet" href="~/css/ManagerNotice/AddNotice.css" />
</head>
<div class="sa">Suggestion Addition</div>
<div class="line"></div>

<div class="sum" style="position: relative; z-index: 2;">
</div>
<div>
    <form asp-action="Edit" method="post">
        <!--- Add QnA--->
        <div class="sa">Announcement Addition</div>
        <div class="line"></div>
        <div asp-validation-summary="ModelOnly" class="text-da"></div>
        <div class="sum" style="position: relative; z-index: 2;"></div>
        <!--Title-->
        <div class="sum2">
            <div class="bold" style="float:left;margin:116px 0px 0px 66px;">Title</div>
            <input asp-for="SuggestTitle" class="write" style="float:left; margin:116px 0px 0px 20px;" />
        </div>
        <!--Content-->
        <div class="sum3">
            <div class="bold" style="float:left;margin:26px 0px 0px 66px;">Content</div>
            <textarea asp-for="SuggestContent" class="write2" style="float:left;margin:26px 0px 0px 20px;"></textarea>
        </div>
        <div>
            <a asp-action="Index">
                <img src="https://i.ibb.co/n77wnyj/returm.png" class="backimage" alt="returm"
                     style="position: relative; z-index: 2; margin: 70px 0px 0px 615px;" border="0">
            </a>
            <div class="back" style="margin: -28px 0px 0px 601px; position: relative;"></div>
            <input class="submit" style="margin: -28px 0px 0px 658px;" value="FinishEdit" />
        </div>
    </form>
</div>
<!--end Back and Submit-->


<div class="pinkbox" style="position: relative; z-index: 1; margin:-450px 0px 0px 35px;"></div>
<div class="copyright" style="margin:265px 0px 27px 246px;">2019 Copyright ⓒ Team VaryBerry All Right Reserved.</div>

, а вот модель

using System;
using System.ComponentModel.DataAnnotations;

namespace PineBerry01.Models
{
    public class BerrySuggest
    {
        [Key]
        public int BerrySuggestKey { get; set; }

        public string SuggestTitle { get; set; }

        public string SuggestContent { get; set; }

        [DataType(DataType.Date)]
        public DateTime SuggestDate { get; set; }
    }
}

следующий контроллер

public async Task<IActionResult> Edit(int? id)
        {
            if (id == null)
            {
                return NotFound();
            }

            var suggest = await _context.BerrySuggests.FindAsync(id);
            if (suggest == null)
            {
                return NotFound();
            }
            return View(suggest);
        }

        [HttpPost, ActionName("Edit")]
        [ValidateAntiForgeryToken]
        public async Task<IActionResult> EditPost(int? id)
        {
            if (id == null)
            {
                return NotFound();
            }

            var suggestToUpdate = await _context.BerrySuggests.FirstOrDefaultAsync(s => s.BerrySuggestKey == id);
            if (await TryUpdateModelAsync<BerrySuggest>(
                suggestToUpdate,
                "",
                s => s.SuggestTitle,
                s => s.SuggestContent))
            {
                try
                {
                    await _context.SaveChangesAsync();
                    return RedirectToAction(nameof(Index));
                }
                catch (Exception)
                {
                    ModelState.AddModelError(string.Empty, "ErrorMessage");
                }
            }
            return View(suggestToUpdate);
        }

Я пытался стереть все свойства (класс, стиль) в текстовой области и ввода, но это не работает вообще. также я попытался изменить модель cs html на ViewModel, в которой нет

     [DataType(DataType.Date)]
     public DateTime SuggestDate { get; set; }

, но произошла ошибка. так что я даже не мог проверить это. Ниже приведен код ошибки.

InvalidOperationException: The model item passed into the ViewDataDictionary is of type 'PineBerry01.Models.BerrySuggest', but this ViewDataDictionary instance requires a model item of type 'PineBerry01.ViewModel.BerrySuggestViewModel'.
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary.EnsureCompatible(object value)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewDataDictionary..ctor(ViewDataDictionary source, object model, Type declaredModelType)
lambda_method(Closure , ViewDataDictionary )
Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator.CreateViewDataDictionary(ViewContext context)
Microsoft.AspNetCore.Mvc.Razor.RazorPagePropertyActivator.Activate(object page, ViewContext context)
Microsoft.AspNetCore.Mvc.Razor.RazorPageActivator.Activate(IRazorPage page, ViewContext context)
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, bool invokeViewStarts)
Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, string contentType, Nullable<int> statusCode)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, string contentType, Nullable<int> statusCode)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ActionContext actionContext, IView view, ViewDataDictionary viewData, ITempDataDictionary tempData, string contentType, Nullable<int> statusCode)
Microsoft.AspNetCore.Mvc.ViewFeatures.ViewResultExecutor.ExecuteAsync(ActionContext context, ViewResult result)
Microsoft.AspNetCore.Mvc.ViewResult.ExecuteResultAsync(ActionContext context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResultFilterAsync>g__Awaited|29_0<TFilter, TFilterAsync>(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext<TFilter, TFilterAsync>(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|19_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, object state, bool isCompleted)
Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...