繁体   English   中英

将值分配给自定义模型活页夹时出现的问题

[英]Issue when assigning values to Custom Model Binder

我正进入(状态

***** Tests.dll中发生类型为'System.NullReferenceException'的异常,但未在用户代码中处理

附加信息:对象引用未设置为对象的实例。

如何正确地将值分配给绑定模型?

public class PersonRegistration
{
    RegisterBindingModel model;
    [TestMethod]

    public void TestMethod1()
    {
        AccountController ac = new AccountController(userManager, loggingService);
        model.UserName = "test123@gmail.com";
        var result = ac.Register(model);
        Assert.AreEqual("User Registered Successfully", result);
    }

我在执行model.UserName = "test123@gmail.com";时遇到异常model.UserName = "test123@gmail.com";

public class RegisterBindingModel
{
    public RegisterBindingModel();
    [Display(Name = "User name")]
    [Required]
    public string UserName { get; set; }
}

您的RegisterBindingModel model未初始化。

因此,发生未处理的null异常(对象引用未设置为对象的实例)。

因此,尝试类似:

public class RegisterBindingModel
{   
    [Display(Name = "User name")]
    [Required]
    public string UserName { get; set; }
}

public class PersonRegistration
{
    RegisterBindingModel model= new RegisterBindingModel ();//initialized
    [TestMethod]

    public void TestMethod1()
    {
        AccountController ac = new AccountController(userManager, loggingService);
        model.UserName = "test123@gmail.com";
        var result = ac.Register(model);
        Assert.AreEqual("User Registered Successfully", result);
    }

此错误消息有些含糊,但它表示某些东西为空,您认为不是。

RegisterBindingModel model; 没有实例。 给它一个,它应该可以工作。 如果仍然出错,请将所有内容包装在try catch中并对其进行调试。

RegisterBindingModel model = new RegisterBindingModel();

您声明了一个模型,但没有初始化它以使其指向内存中的某个位置。 尝试编写RegisterBindingModel模型= new RegisterBindingModel();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM