ASP.NET Core
A set of technologies in the .NET Framework for building web applications and XML web services.
3,173 questions
This browser is no longer supported.
Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.
I working on MVC razor pages asp.net core 7 . I can't display success message after submit and insert data on same page .
I get error
System.NullReferenceException: 'Object reference not set to an instance of an object.'
error happen on Model.userModel.Branches
Expected Result is display success message after insert data success but after click submit button
data inserted and give me this error null reference exception
so How to solve this error ?
public class AddUserModel : PageModel
{
[BindProperty]
public AddUserViewModel userModel { get; set; }
[BindProperty]
public UC.ADC.Core.Entities.SQL.User User { get; set; }
public string SuccessMessage { get; set; }
public AddUserModel(ADCContext db,OracleContext ora_db2)
{
_db = db;
userModel = new AddUserViewModel();
}
public async Task<IActionResult> OnPost()
{
if (ModelState.IsValid)
{
await _db.User.AddAsync(User);
await _db.SaveChangesAsync();
SuccessMessage = "Form submitted successfully!";
return Page();
}
}
public void OnGet()
{
userModel.Branches = _db.Branch.ToList();
}
}
on adduser.cshtml
@page "/AddUser"
<form method="post">
<div class="form-group row">
<label for="branch-select" class="col-sm-1 col-form-label" style="font-size:15px;font-family: 'Open Sans', sans-serif;font-weight: bold;">Branch</label>
<div class="col-sm-3">
<select id="branch-select" asp-for="User.iBranchCode" class="form-control" style=" margin-left:10px;font-size:15px;font-family: 'Open Sans' , sans-serif;font-weight: bold;">
<option value="">-- Select Branch --</option>
@foreach (var branch in Model.userModel.Branches)
{
<option value="@branch.iBranchCode">@branch.vBranchDesc</option>
}
</select>
</div>
</div>
<div class="form-group row" style="margin-left:200px;font-size:15px;font-family: 'Open Sans' , sans-serif;font-weight: bold;">
<button type="submit" class="col-sm-1 btn btn-primary">Submit</button>
</div>
</form
so Data insert success after submit button and after that error display and message success not display
The OnPost() method does not populate the userModel like the OnGet() does.
public async Task<IActionResult> OnPost()
{
if (ModelState.IsValid)
{
await _db.User.AddAsync(User);
await _db.SaveChangesAsync();
SuccessMessage = "Form submitted successfully!";
userModel.Branches = _db.Branch.ToList();
return Page();
}
}