簡體   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