[英]ASP.NET MVC ViewData.Model requires casting
我正在研究我的第一個ASP.NET MVC應用程序並且有一個奇怪的問題。 關於使用強類型ViewData的所有教程都不需要對ViewData / Model對象進行轉換/評估,但是如果我不轉換為ViewData對象,則會出現編譯錯誤
ViewData類:
public class CategoryEditViewData
{
public Category category { get; set; }
}
控制器動作:
public ActionResult Edit(int id)
{
Category category = Category.findOneById(id);
CategoryEditViewData ViewData = new CategoryEditViewData();
ViewData.category = category;
return View("Edit", ViewData);
}
作品:
<%=Html.TextBox("name",
((Project.Controllers.CategoryEditViewData)Model).category.Name)) %>
不起作用:
<%=Html.TextBox("name", Model.category.Name)) %>
有什么東西我做錯了 - 或者我是否必須一直投射到視圖中的對象?
首先,您應該將CategoryEditViewData類移出控制器命名空間,並移入模型命名空間。 在Models文件夾下創建一個新類,看看它應該是什么樣子。 最好將模型放在模型文件夾下。
然后您的Control指令應如下所示:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Models.CategoryEditViewData >" %>
等等,想到了什么。 在你看來你繼承你的模特????
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<namespace.Controllers.YourFormViewModel>" %>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.