Удаленная проверка в ASP.Net MVC 3: Как использовать дополнительные методы в действии

Я использую новый ASP.Net MVC 3 RemoteAttribute для отправки удаленного вызова методу действия, имеющему один параметр. Теперь я хочу передать второй параметр, используя свойство AdditionalFields:

[Remote("IsEmailAvailable", "Users", AdditionalFields = "InitialEmail")] 

Где IntialEmail – это скрытое поле в представлении. Действие выглядит так:

 public JsonResult IsEmailAvailable( string email, string InitialEmail) { //etc. } 

Когда визуализируется представление, скрытое поле заполняется, но когда метод действия запускается удаленно, значение представляет собой пустую строку.

Я видел, что в других случаях чувствительность к регистру может быть проблемой, поэтому я гарантировал, что метод Action имеет тот же случай для обоих параметров.

Любые другие предложения? Эти дополнительные поля раньше назывались полями.

Благодаря,

Beaudetious

Странный. Меня устраивает:

Модель:

 public class MyViewModel { [Required] [Remote("IsEmailAvailable", "Home", AdditionalFields = "InitialEmail")] public string Email { get; set; } } 

controller:

 public class HomeController : Controller { public ActionResult Index() { return View(new MyViewModel()); } [HttpPost] public ActionResult Index(MyViewModel model) { return View(model); } public ActionResult IsEmailAvailable(string email, string initialEmail) { return Json(false, JsonRequestBehavior.AllowGet); } } 

Посмотреть:

 @model AppName.Models.MyViewModel @{ ViewBag.Title = "Home Page"; }   @using (Html.BeginForm()) { @Html.TextBoxFor(x => x.Email) @Html.ValidationMessageFor(x => x.Email)   } 

IIRC была некоторая ошибка в ASP.NET MVC 3 RC2 с этой удаленной проверкой, которая была исправлена ​​в RTM.

Ваше скрытое поле должно находиться внутри той же формы, что и поле, которое вы проверяете (например, в примере Дарина), иначе значение скрытого поля не будет отправлено как параметр в метод действия проверки «public ActionResult IsEmailAvailable (строка email, строка initialEmail )»

функция IsEmailAvailable (строчная электронная почта, строка initialEmail) param email следует как электронная почта, которая точно такая же, как Property Email.

Давайте будем гением компьютера.