我的模型类如下:
public class Employee
{
public Guid ID { get; set; }
[Required]
[Remote("CheckName","Employee",ErrorMessage="Already Exists...!")]
public String EmployeeName { get; set; }
public String EmployeeAddress { get; set; }
[Required]
public DateTime DateOfBirth { get; set; }
public decimal Salary { get; set; }
public String Department { get; set; }
public DateTime HireDate { get; set; }
}
我在控制器中的行动如下:
[HttpGet]
public JsonResult CheckName(string Name)
{
return Json(Name.Equals("MyString"), JsonRequestBehavior.AllowGet);
}
当我执行此操作时,我收到以下异常
的NullReferenceException: 对象引用未设置为对象的n实例
在视图中,表单包含文本框和提交按钮。 如果您对这些事情不清楚,请告知我们进行远程验证。
答案 0 :(得分:3)
不确定如何渲染有问题的文本框,但如果您正在使用:
@Html.TextboxFor(x => x.EmployeeName) // or
@Html.EditorFor(x => x.EmployeeName) // or
@Html.Textbox("EmployeeName")
输入的字段名称将呈现为< input name =“EmployeeName”/>和模型绑定将无法将其解析为CheckName方法的Name参数,从而尝试执行
Name.Equals("MyString")
虽然Name为null并导致NullReferenceException。如果将CheckName方法的参数名称更改为EmployeeName,则应该导致模型绑定将参数解析为文本框的名称。
这完全取决于我对情况的理解和做出一些假设。