Ошибка сервера в «/» с проверкой в ​​.NET - PullRequest
0 голосов
/ 30 января 2019

Всегда есть ошибка сервера в «/» приложении.когда я пытаюсь использовать проверку в веб-приложении.

Это модель:

using System.ComponentModel;
using System.ComponentModel.DataAnnotations;

namespace MVCDemon.Models
{
    public class Movie
    {
    [DisplayName("MovieName")]
    [Required(AllowEmptyStrings =false, ErrorMessage ="CanNotBeEmpty")]
    public string Name { get; set; }
    }
}

Это контроллер:

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

namespace MVCDemon.Controllers
{
    public class MovieController : Controller
    {
        [HttpPost]
        public ActionResult Validation(Movie movie)
        {
            if (ModelState.IsValid)
            {
                ViewBag.Name = movie.Name;
            }
            return View();
        }
    }
}

ЭтоHtml:

<div>
@model MVCDemon.Models.Movie
@using (Html.BeginForm())
{
    <div>
        @Html.TextBoxFor(m => m.Name)
        @Html.ValidationMessageFor(m => m.Name)
    </div>
    <input type="submit" value="submit" />
}
</div>
<div>
    @ViewBag.Name
</div>

И это для макета:

enter image description here

Я проверил сценарии и импортирую jquery.validation.min.js и jquery.validation.unobtrusive.min.js

Кроме того, я попытался установить конфигурацию, как кто-то упоминал:

enter image description here

Но ошибка все еще существует.

Ошибка сервера в приложении '/'.Этот ресурс не может быть найден.Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, изменилось его имя или временно недоступен.Пожалуйста, просмотрите следующий URL и убедитесь, что он написан правильно.

1 Ответ

0 голосов
/ 30 января 2019

Похоже, что ваша форма не направляется на контроллер.

Вы можете сделать это, добавив следующие параметры в Html.BeginForm:

@using (Html.BeginForm("Validation", "Movie", FormMethod.Post))
{
    // ...rest of form code
}

Важные параметры:actionName, controllerName.

...