ASP.Net MVC의 유효성 검사 메시지로 그립을 얻으려고합니다. 내가 그 성 필드가 비어있는 경우 오류 메시지를 표시하도록되어 내 컨트롤러에서이 게시물 방법이ASP.Net MVC 및 유효성 검사 메시지
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
<h2>Create User</h2>
<%= Html.ValidationSummary("Create was unsuccessful. Please correct the errors and try again.") %>
<% using (Html.BeginForm()) {%>
<fieldset>
<legend>Fields</legend>
<p>
Username : <%= Html.TextBox("Username") %>
</p>
<p>
Forename : <%= Html.TextBox("Forename") %>
<%= Html.ValidationMessage("Forename", "*") %>
</p>
<p>
Surname : <%= Html.TextBox("Surname","") %>
<%= Html.ValidationMessage("Surname", "*") %>
</p>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
<% } %>
<div>
<%=Html.ActionLink("Back to List", "Index") %>
</div>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="head" runat="server">
<title><%= ViewData["ProjectTitle"] %> - Create User</title>
</asp:Content>
다음 뷰를 가지고, 난 그냥하려고이 기능을 메신저에 다른 논리가 없다 실현 유효성 검사를 끝내 내 머리를 얻을. 나는이 프로그램을 실행하고이 방법은 잘 실행하고 오류를 추가,하지만 응용 프로그램이 전복 만들기 사용자를 저장 클릭하면
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create(FormCollection formValues)
{
if (formValues["Surname"] == string.Empty)
ViewData.ModelState.AddModelError("Surname", "No way");
return View("Create");
}
, 그것은 성 텍스트 상자를 생성하고 "뿐만 말한다 뷰에서 선을되도록 만든다 객체의 인스턴스로 설정 "합니다. 성 (姓) 텍스트 상자에 뭔가를 넣으면 에러가 발생하지 않습니다.
나는 정말로 간단한 것을 놓치고 있다고 생각하지만 무엇을 해결할 수 있습니다.
아이디어가 있으십니까?
감사
개빈
배치되어, 당신의 if 문에 널 또는 빈을 테스트해야합니까? –
이 줄에서 일어납니다 성 : <% = Html.TextBox ("성", "") %> – Gavin
흠 나는 두 번째 인수 때문에 그런 것 같아요. ViewData에서 ""(empty) 키를 찾고 객체 참조를 던집니다. –