Ho uno strano problema per cui ValidationSummary non viene visualizzato. Tuttavia, vengono visualizzati i ValidationMessage. Ho controllato l'origine della pagina di output e non è come se fossero in un colore che li oscura. Sto usando la RC. Qualche idea?asp.net MVC - ValidationSummary non visualizza
Edit: punto di rottura fissato a ValidationSummary mostra:
ViewData.ModelState.Values[1].ErrorMessage = ""
ViewData.ModelState.Values[1].Exception.InnerException.Message = "4a is not a valid value for Int32"
fa ValidationSummary utilizzare ErrorMessage e ValidationMessage usano InnerException.Message?
Il mio codice di vista è:
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master"
Inherits="System.Web.Mvc.ViewPage<App.Models.PurchaseOrdersView>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="server">
<title>Edit</title>
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<h2>Edit</h2>
<%= Html.ValidationSummary() %>
<% Html.BeginForm("Edit", "PurchaseOrder", FormMethod.Post); %>
<table>
<tr>
<td>
Purchase Order Id:
</td>
<td>
<%= Html.TextBox("PurchaseOrderId", Model.PurchaseOrderId)%>
<%= Html.ValidationMessage("PurchaseOrderId")%>
</td>
</tr>
<tr>
<td>
Date:
</td>
<td>
<%= Html.TextBox("Date", Model.Date.ToString("dd-MMM-yyyy"))%>
<%= Html.ValidationMessage("Date")%>
</td>
</tr>
</table>
<input type="submit" value="Save" />
<% Html.EndForm(); %>
</asp:Content>
Hi Craig: Per PurchaseOrderID (intero) e data (data) sono entrato stringhe. Ho provato con/senza messaggi di errore personalizzati. Io uso UpdateModel per ottenere errori di aggiunta. Sono un n00b e mi limito a capire cosa stai dicendo. Ho aggiornato la mia domanda con qualche informazione in più. –
Ciao, penso anche che questo sia un bug perché il mio riepilogo di convalida non mostra tutti gli errori ma i miei messaggi di convalida in linea sono. Penso che questo bug sia stato introdotto in MVC2 RC2. – Naz
Il collegamento La modifica di Microsoft a GetUserErrorMessageOrDefault sembra essere interrotta. Questo collegamento dovrebbe funzionare: http://aspnetwebstack.codeplex.com/SourceControl/changeset/view/f1511797ea32#src/System.Web.Mvc/Html/ValidationExtensions.cs – Jay