Country クラス (モデル) には次の 2 つのプロパティがあります。
public class Country
{
[HiddenInput(DisplayValue = false)]
public int Id { get; set; }
[Required]
[Remote("CheckName", "Country", AdditionalFields = "Id")]
public string Name { get; set; }
}
上記のメソッドId
に渡されることを期待していますCheckName
。私は次のようにCheckName
メソッドを持ってCountryController
います:
public JsonResult CheckCountryName(string Name, int Id = 0)
{
return Json(!repository.Countries.Where(c => c.Id != Id).Any(c => c.Name == Name), JsonRequestBehavior.AllowGet);
}
Country クラスのエディター テンプレートを使用しています。@Html.EditorFor(m => m.Country)
Id プロパティは、ID が Country_Id、名前が Country.Id の非表示フィールドとしてレンダリングされています。名前フィールドを編集しているときにCheckName
、必要な値を取得していません (名前は null になり、ID は 0 (デフォルト値) になります)
Fiddler をチェックインしました。リクエストは としてサーバーに送られますGET /Country/CheckName?Country.Name=abc&Country.Id=0 HTTP/1.1
。
これを解決するにはどうすればよいですか?