2017-04-21 10 views
0

フィールドに対してリモート検証があり、起動しますが、コントローラメソッドでnullがパラメータであると言う500エラーが発生します。実際に起こっているのは、URLにモデル名が追加されているため、メソッドを見つけることができません。MVCリモート検証でURLにモデルを追加しています

例:検証が発生したときに作成したURLが何らかの理由で

STUDENTモデル

[Remote("CheckExistingStudent", "Student", AdditionalFields = "FirstName", ErrorMessage = "This student already exists!")] 
    public string LastName { get; set; } 
    public string FirstName { get; set; } 

http://localhost:4855/Student/CheckExistingStudent?Student.LastName=Waters&Student.FirstName=Nigel 

お知らせ学生。 URLに

Iカップル異なるメソッドシグネチャを試みた:

public JsonResult CheckExistingResource(string FIrstName, string LastName) 

    public JsonResult CheckExistingResource(StudentModel model) 

最初の500エラー(nullパラメータ)を返します。 2番目はStudentモデルを通過してメソッドを取得しますが、最初の&はnullです。

私はHtml.BeginCollectionItemヘルパーを使用して動的リストを作成しているため、同じページに複数の生徒を入力できるため、これが起こっていると確信しています。 BCIヘルパーの一部は、各フィールドの一意のインデックス名を変更することです。

だから私はモデルを持つことからURLを停止することはできないと思う。その中に。モデルを持つことは可能ですか?メソッドのパラメータ名に?私は試しました、それは間違いです。

答えて

0

おそらく、モデルバインドプレフィックスが順に次のとおりです。

public JsonResult CheckExistingResource([Bind(Prefix="Student")]StudentModel model) 
関連する問題