過去24時間で、私はxValに大いに夢中になりました。私はそれを私の個人的なウェブサイトに紹介しました、そしてそれはチャンピオンのように働きます-私はそれを動かすことがどれほど簡単であったか信じられません。ASP.Net MVC、xVal 1.0、およびDataAnnotationsバリデーターを使用しています。
これと同じコードを作業アプリケーションに入れようとすると、異なる動作が見られます。私はおそらく何か違うものがあることを知っているのに十分論理的ですが、それが何であるかはわかりません。
クライアント側の検証を機能させるために、次のように、フィールドにプレフィックス「message」を追加しました。
<%= Html.TextBox("message.Subject", Model.Subject, new { @class = "contact-input required" })%>
等々。私のコントローラーには次のロジックがあります。
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(Message message)
{
try
{ // some code here
これで、自動的に、ModelBinderが実際にオブジェクトにデータを入力します。これは素晴らしい。
問題は、私の作業プロジェクトで同じことをしようとしていることです。クライアント側の検証はうまく機能しますが、ModelBinderがモデルにデータを入力しません。プレフィックスを削除すると問題ないので、プレフィックスの問題であることはわかっています。
スクリプトの唯一の違いは、作業プロジェクトが縮小されたjquery検証ライブラリを使用していることです。
何を探すべきかについてのアイデアはありますか?