我在下面看到了很多我的问题的答案,似乎是“@model MyModel”,但它对我正在使用的代码没有帮助。
背景:我正在 VS2010 上使用 MVC3(没有 Razor)进行 MVC 项目。我写了一个我在页面中引用的控件:
<% Html.RenderPartial("~/Views/ListGrid.ascx", new UpdateRequest { Id =Int32.Parse(ViewData["Id"].ToString())}); %>
ListGrid.ascx 不是强类型视图。因此它继承了一个动态类型:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<dynamic>" %>
我知道 lamda 表达式不能与非强类型视图一起使用,所以,
<%=Html.TextBoxFor(l => Model.ExpiryYear)%>
将显示错误 CS1963:表达式树可能不包含动态操作。
正如我提到的,我找到的答案是包含@model,但是如果我不使用 Razor,那么让我的非强类型视图工作的等价物是什么?
不使用 Razor 不是我的选择,也不是一个选项,所以请不要问我为什么不使用它。