![](/img/trans.png)
[英]MVC custom model binder using the default binder for certain form values
[英]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.