c# - 为什么我没有将对象引用设置为对象的实例
问题描述
我有详细信息视图,并且作为管理员在详细信息视图中我希望能够仅更新票证的状态,仅此而已。当我在控制器中创建类似这样的函数时
public IActionResult UpdateStatus(int ticketId, string status)
{
var ticket = _unitOfwork.Ticket.Get(ticketId);
ticket.Status = status;
_unitOfwork.Ticket.Update(ticket);
return View();
}
我收到错误消息
Object reference not set to an instance of an object.
在我的模型中,我有这样的东西
public class Ticket
{
[Key]
public int Id { get; set; }
[Display(Name = "Opis")]
public string Description { get; set; }
[Display(Name = "Datum i vrijeme slanja")]
public string DateAndTime { get; set; } = DateTime.Now.ToString("dd/MM/yyyy HH:mm");
[Display(Name = "Datum i vrijeme zavrsetka")]
public DateTime Answered { get; set; }
[Display(Name = "Vrsta tiketa")]
public int TicketTypeID { get; set; }
[ForeignKey("TicketTypeID")]
public virtual TicketType TicketType { get; set; }
public string UserId { get; set; }
[ForeignKey("UserId")]
public virtual ApplicationUser ApplicationUser { get; set; }
public int? ClientId { get; set; }
[ForeignKey("ClientId")]
public virtual Client Client { get; set; }
public string Status { get; set; } = TicketStatus.Otvoren.ToString();
TicketStatus 是我从这里得到的 ENUM 值
public enum TicketStatus
{
Otvoren = 1,
NaCekanju = 2,
Zatvoren = 3
}
在详细信息视图中我有这个结构
@model VmSTicketing.Models.ViewModels.TicketVM
@using VmSTicketing.Utility
@{
ViewData["Title"] = "Details";
Layout = "~/Views/Shared/AdminLTE/_Layout.cshtml";
}
<h2 class="text-info">Pregled tiketa</h2>
<div class="p-4 border rounded">
<div class="form-group row">
<div class="col-2">
<label>Vrsta tiketa</label>
</div>
<div class="col-5">
<input asp-for="Ticket.TicketType.Name" disabled class="form-control" />
</div>
</div>
<div class="form-group row">
<div class="col-2">
<label>Opis</label>
</div>
<div class="col-5">
<textarea asp-for="Ticket.Description" disabled class="form-control"></textarea>
</div>
</div>
<div class="form-group row">
<div class="col-2">
<label>Datum i vrijeme slanja</label>
</div>
<div class="col-5">
<input asp-for="Ticket.DateAndTime" disabled class="form-control" />
</div>
</div>
<div class="form-group row">
<div class="col-2">
<label>Klijent</label>
</div>
<div class="col-5">
<input asp-for="Client.Name" disabled class="form-control" />
</div>
</div>
<div class="form-group row">
<div class="col-2">
<label>User</label>
</div>
<div class="col-5">
<input asp-for="Ticket.ApplicationUser.Name" disabled class="form-control" />
</div>
</div>
@if (User.IsInRole(SD.Role_Admin))
{
<div class="form-group row">
<div class="col-2">
<label>Status Tiketa</label>
</div>
<div class="col-5">
<select asp-for="@Model.Ticket" asp-items="Html.GetEnumSelectList<VmSTicketing.Models.Enum.TicketStatus>()" class="form-control"></select>
</div>
</div>
<div class="form-group">
<a asp-area="Manager" asp-action="UpdateStatus" asp-controller="Ticket" class="btn btn-primary">Update</a>
</div>
}
<br />
<div class="form-group">
<a asp-action="Index" class="btn btn-success">Back to List</a>
</div>
</div>
我在哪里犯错了?为什么status
被识别为 NULL 对象?
解决方案
推荐阅读
- python - 在 Django 上填写另一个字段时更新一个字段
- mysql - 根据 Id 从同一个表中选择 empName 和 managerName
- r - 使用 R,如何使用字符向量在非常大的字符向量中搜索匹配项
- python - InvalidArgumentError:维度 1 的切片索引 7 超出范围。[Op:StridedSlice] 名称:strided_slice/
- python - 插值 UV 坐标
- amazon-web-services - 如何从公共 Internet 连接到我的无服务器 RDS 实例?
- javascript - 如何将项目存储在本地存储然后调用它?
- python - 使用 or 运算符时,Python 函数意外返回 True
- rest - 我对 Roy Fielding 的 REST 替代 HTTP cookie 的解释是否正确?
- android - Android 模拟器上的未知错误,在运行 android studio 的 Amazon Ec2 Windows 服务器上