我有一个用于从静态变量中使数据出队的按钮,然后我需要在视图上呈现特定的属性,但是由于某种原因,即使我已经使用了名称空间,也无法呈现它。
这是我的控制器:
public ActionResult BtnNext()
{
var first = MyQueue.todayQueue.Dequeue();
TempData["QueueItem"] = first;
return PartialView("_queuenumber");
}
这是我的观点:
@{
var item = (MyQueue)TempData["QueueItem"];
}
<p>@item.QueueNumber</p>
这是我的课程:
public class MyQueue
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int MyQueueId { get; set; }
[Required]
public string Name { get; set; }
public string QueueNumber
{
get
{
return string.Format("{0}{1:000}", ServiceLetter ?? "?", MyQueueId);
}
set { }
}
public static Queue<MyQueue> todayQueue = new Queue<MyQueue>();
public int ServiceId { get; set; }
public string ServiceLetter { get; set; }
public virtual Service Service { get; set; }
}
这看起来不错并且可以正常工作,但是由于某种原因,我收到了错误消息。 错误看起来像这样。
错误消息:
“找不到类型或名称空间名称'MyQueue'(您是否缺少using指令或程序集引用?)”
答案 0 :(得分:3)
您必须将程序集的完整参考提供给类
)
在视图中无法直接访问类库引用,因此您需要提供对类的完整引用
答案 1 :(得分:0)
您必须在视图中指定或导入名称空间。您既可以指定@Ahsam Aslam的答案,也可以指定名称空间using
,还可以使用as
关键字在兼容的引用类型或可为空的类型之间进行转换。
例如,您的命名空间是DataStructure
,然后
@using DataStructure
@{
var item = TempData["QueueItem"] as MyQueue;
}
您可以将TempData
转换为兼容的引用类型。
我希望它可以帮助您让我知道是否需要更多信息。