摘要
本文將從完成“輸入數據驗證”這個功能出發,逐漸展開ASP.NET MVC與Ajax結合的方法。首先,本文將使用ASP.NET MVC提供的同步方式完 成數據驗證。而後,將分別結合ASP.NET AJAX和JQuery將這個功能重構成異步形式。
數據驗證
在上一篇文章中,我們完成了發布公告的功能。但是從健壯性角度看,這個功能並不完善,因為一般情況下,我們輸入的數據要符合一定的 約束條件,例如,在我們的例子中,我們至少不能將空字符串作為標題或內容吧。下面,我們來為程序加入數據驗證功能,
ASP.NET MVC中提供了良好的數據驗證實現支持,下面我們來看實現過程。首先,我們要修改一下Release.aspx視圖,修改後的視圖如下。
Release.aspx:
1<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Release.aspx.cs" Inherits="MVCDemo.Views.Announce.Release" %>
2<%@ Import Namespace="MVCDemo.Models.Entities" %>
3
4<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6<html xmlns="http://www.w3.org/1999/xhtml" >
7<head runat="server">
8 <title></title>
9</head>
10<body>
11 <% SelectList categories = ViewData["Categories"] as SelectList; %>
12 <div>
13 <h1>MVC公告發布系統——發布公告</h1>
14 <% Html.BeginForm ("DoRelease","Announce",FormMethod.Post); %>
15 <dl>
16 <dt>標 題:</dt>
17 <dd><%= Html.TextBox("Title") %></dd>
18 <dd><%= Html.ValidationMessage("TitleValidator") %></dd>
19 <dt>分類: </dt>
20 <dd><%= Html.DropDownList("Category",categories) %></dd>
21 <dd></dd>
22 <dt>內容:</dt>
23 <dd><%= Html.TextArea("Content") %></dd>
24 <dd><%= Html.ValidationMessage ("ContentValidator") %></dd>
25 </dl>
26 <input type="submit" value="發布" />
27 <% Html.EndForm(); %>
28 </div>
29</body>
30</html>