【发布时间】:2016-06-13 06:01:18
【问题描述】:
我必须将我的 UI 页面从 .cshtml 文件移动到 .aspx 文件。现在我遇到了几个编译错误。
首先是当前上下文中不存在“ViewBag”。我不能在 .aspx 中使用它吗?如果没有,什么是好的替代品?
其次,.cshtml 页面有一个模型声明:
@model myProject.Models.Navigation
我对其进行了更改,使其可以在 .aspx 页面中运行,如下所示:
<%@ Import Namespace="myProject.Models" %>
我仍然不确定这是一个正确的替代品,因为我无法在不出错的情况下包含“导航”一词。现在,在我曾经拥有的代码中:
@foreach (myProject.Models.Navigationitem item in Model.navigationItems){...
我已将其替换为:
<% foreach (myProject.Models.Navigationitem item in Model.navigationItems){...
我得到这个错误:
当前上下文中不存在名称“模型”
显然,我是唯一一个从 razor 转到 aspx 的人,因为网上确实有关于它的说法。感谢任何帮助。
【问题讨论】:
-
我能问你为什么要从 Razor 转到 ASPX 吗?人们正朝着相反的方向前进是有原因的。您是否也从 MVC 转向了 Web 表单,或者您还在使用 MVC?
-
@mason 你是对的,但如果他想移动,他仍然与动态视图状态有关:请找到这篇文章,希望它能解决你的问题。 codeproject.com/Articles/316326/Dynamic-ViewState-in-ASP- Net-WebForms
-
@Vivek 我们不要假设 Web 表单。 ASPX 可以与 MVC 一起使用。
-
@mason 有效问题。我正在使用使用 asp.net 经典和 Web 表单的遗留代码库。我以为我可以潜入一个 MVC 页面,但我在 asp.net 中的知识还不够,不知道如何使它工作,并且它导致了许多服务器错误。解决方案是完全消除 MVC 并使用 Web 表单重写 http 请求。我焦急地期待着继续使用现代技术的项目!
标签: asp.net asp.net-mvc razor models viewbag