ASP.NET MVC 视图 - 我可以使用代码隐藏吗

2024-04-05

我是 MVC 新手,我注意到视图页面由于所有混合的脚本标签看起来非常糟糕。在视图代码隐藏的方法中生成 HTML,然后将方法的字符串结果作为单个脚本插入,是否有意义?

例如:<div><%= GenerateTonsOfHTMLFromSomeIEnumerable() %></div>

这是否违背MVC理念?由于其他原因(例如性能)而变得愚蠢?它有什么优点吗?


这是一个实践问题。

这是一篇有趣的读物。

  1. 代码隐藏文件是邪恶的 http://stevesmithblog.com/blog/codebehind-files-in-asp-net-mvc-are-evil/

  2. 代码隐藏文件并不邪恶 http://msmvps.com/blogs/luisabreu/archive/2008/09/19/codebehind-files-in-asp-net-mvc-are-not-evil.aspx

还有一篇有趣的文章,作者是“Rob Conery”

  1. 内联脚本和代码隐藏 http://blog.wekeroad.com/blog/crazy-talk-inline-scripting-and-code-behind/

所以,选择权在你。这取决于您的应用程序架构,您想要如何构建它,等等......

我想没有代码隐藏的视图的优点是更容易切换到不支持代码隐藏的不同视图引擎。

虽然会有一些工作量,但仍然会很顺利。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ASP.NET MVC 视图 - 我可以使用代码隐藏吗 的相关文章

  • 编辑用户个人资料详细信息

    如何创建用于编辑用户自定义信息的操作和视图 授权基于 VS 通过 MVC 4 项目创建的成员资格 我添加了其他列 例如 FirstName 等 我需要并且注册工作正常 但我不知道如何让此属性显示在视图中 Html EditorFor并将更改
  • 如何排列表格中的项目 - MVC3 视图 (Index.cshtml)

    我想使用 ASP NET MVC3 显示特定类型食品样本中存在的不同类型维生素的含量 如何在我的视图 Index cshtml 中显示它 an example 这些是我的代码 table tr th th foreach var m in
  • Sendgrid System.ArgumentException:未知元素:html

    我刚刚将以下软件包更新到最新版本 a SendGrid SmtpApi 更新至 1 3 1 b SendGrid 更新至 6 0 突然间 WebTransport Deliver 方法不再存在 没问题 我已切换到 DeliverAsync
  • 通过 HttpClient 使用外部 REST Web 服务的存储库模式示例?

    我已经进行了相当多的搜索 但没有找到任何在 ASP NET MVC 应用程序中使用存储库模式使用外部 REST Web 服务的好示例 并且具有松散耦合和有意义的关注点分离 我在网上找到的几乎所有存储库模式示例都是编写 SQL 数据或使用 O
  • 绑定到 ViewModel 时如何更新 Model?

    我有一个 HttpPost 操作方法签名如下 HttpPost public ActionResult Edit ExistingPostViewModel model Save the edited Post 现在 在过去 当我没有使用
  • 运行更新数据库时出错

    我在运行时遇到以下错误Update Database Verbose 使用启动项目 WebApplication 使用 NuGet 项目 Web应用程序 指定 Verbose 标志来查看 SQL 应用于目标数据库的语句 目标数据库是 星冰乐
  • 将 MVC 站点部署到 IIS 会导致找不到默认共享部分视图

    我有一个可以在本地 IIS 上完美运行的网站 我的所有页面都使用默认的共享部分视图 这称为预期 Layout cshtml 该视图放置在我的共享文件夹中 这可以在这里看到 正如我所期望的那样 这非常有效 不过 我现在发布了我的网站 然后 我
  • 尝试使用 VS 2012 打开我的 asp.net 4.5 MVC Web 应用程序时出错。Asp.net 尚未在服务器上注册

    我有一个Windows Server 2012 R2 Visual Studio 专业版 2012 现在我用来开发 ASP NET 4 5 MVC 4 Web 应用程序 没有任何问题 但现在当我尝试打开该项目时 我会收到此错误 如果我单击
  • Log4net不会将日志写入日志文件

    我使用 Log4net 创建了一个简单的场景 但我的日志附加程序似乎不起作用 因为消息没有添加到日志文件中 我将以下内容添加到 web config 文件中
  • 我无法使 ValidateInput(False) 工作 - 从客户端检测到潜在危险的 Request.Form 值

    我尝试了很多组合 但无法在此代码块上关闭验证 ValidateInput false public ActionResult aSavePageCopy aLoggedIn int id Convert ToInt32 Request Fo
  • 将 Expression> 转换为 Expression>

    确实很简单的问题 我有显示 Nullable Bool 的 MVC 视图 例如 Html CheckBoxFor model gt model NullableBoolHere Model NullableBoolHere 我想创建一个新的
  • 如何将 Razor 视图转换为字符串?

    我想使用我的 Razor 视图作为某种发送电子邮件的模板 所以我想将我的模板 保存 在视图中 将其作为字符串读入控制器 进行一些必要的替换 然后发送它 我有有效的解决方案 我的模板作为 HTML 页面托管在某处 但我想将其放入我的应用程序中
  • 相对于路径匹配路由

    我想要任何以以下结尾的网址 templates filename 使用路由属性映射到特定控制器 例如 public class TemplateController Controller Route templates templateFi
  • ASP.NET 会话状态和多个工作进程

    我需要了解一些有关 ASP NET 会话状态的信息 因为它适用于 IIS 7 和 ASP net 3 5 如果应用程序配置为使用进程内会话状态 那么如果有多个工作进程 该应用程序是否可以正常工作 换句话说 工作进程是否共享会话状态 IIS
  • Html Helper“操作”未定义,Asp.NET Core 2.2

    我是 ASP NET Core MVC 的新手 我会在这个问题前说我已经阅读了其他类似的问题 但它们与我遇到的问题并不完全相同 我正在尝试实现动态左侧导航 其中每个按钮都是从我的数据库加载的 当我打电话时 Html Action NavMe
  • 我的 Razor 视图中出现奇怪的自动命名空间导入

    今天我注意到 例如 System 和 System Web Security 已导入到我的所有 razor 视图中 尽管我没有主动导入它们 我检查了 using指令 web config 编辑 也是全局 web config 添加全局导入
  • 如何从 C# 控制器重定向到外部 url

    我使用 C 控制器作为网络服务 在其中我想将用户重定向到外部网址 我该怎么做 Tried System Web HttpContext Current Response Redirect 但没有成功 使用控制器的重定向 http msdn
  • NHibernate - 无法延迟初始化角色集合

    我有以下看似简单的场景 但我对 NHibernate 仍然很陌生 当尝试在我的控制器上加载以下模型以进行编辑操作时 控制器的编辑操作 public ActionResult Edit Guid id return View reposito
  • 在 ASP.NET MVC 中将模型从视图传递到控制器

    我正在 ASP NET MVC 中开发我的第一个应用程序 但遇到了一个我无法解决的问题 即使在阅读了整个互联网之后也是如此 因此 我有几个使用视图模型创建的视图 它们是报告 这些视图模型是根据用户选择标准填充的 我正在尝试构建一种接受模型并
  • 运行测试项目时自动启动ASP.MVC项目

    我正在尝试为我的 ASP 网站设置一个测试项目 对于某些测试 我想使用 selenium 来执行端到端测试 因此 我的网站必须运行 以便测试可以访问该网站 运行测试时如何启动我的网站项目 请参考以下链接 我相信这是可能的 但会有点棘手 这些

随机推荐

  • Java多态混乱

    下面的问题来自 Kathy Sierra 和 Bert Bates 所著的 Java SCJP5 书籍 给定一个声明为的方法 public static
  • 如何从 Apache POI 获取脚注和段落?

    我有代码可以从 Apache POI 中的 doc 文件获取段落 但我也想获取脚注 另外 这是获取段落的唯一方法吗 到目前为止的代码 InputStream stream HWPFDocument document new HWPFDocu
  • 如何生成基本表单来快速编辑数据库条目?

    有没有一种方法可以在 WinForms 中生成表单或在 WPF 中生成可以在数据库表中插入 编辑条目的窗口 如果不存在捷径 您可以分享您的经验吗 我怎样才能以最少的努力快速完成它 我有一个大型项目 其中我必须花费大量时间对数据库进行建模 我
  • 当使用 data.table 的 DT[ i , j, by] 时,是否可以预先设置列类型?

    我正在尝试计算多个不同组的两个变量之间的相关性 例如DT cor test var1 var2 group 每当我使用时这都非常有效cor test var1 var2 method pearson 但当我使用时抛出错误cor test v
  • C++ FileIO Copy -VS- System("cp file1.x file2.x)

    编写文件复制例程会更快 更高效 还是应该执行对 cp 的系统调用 文件系统可能不同 nfs local reiser 等 但它始终位于 CentOS Linux 系统上 Invoking http en wikipedia org wiki
  • 以编程方式为 WooCommerce 中的特定可变产品设置最小、最大和步骤数量

    I use 购物车更新后 WooCommerce 购物车数量不会改变 https stackoverflow com questions 65714608 woocommerce cart quantity wont change afte
  • aiohttp.client_exceptions.ClientConnectorError:无法连接到主机 stackoverflow.com:443 ssl:default [连接调用失败('151.101.193.69', 443)]

    这是我的代码 import asyncio from aiohttp import ClientSession async def main url https stackoverflow com async with ClientSess
  • 从 JButton 调用方法会冻结 JFrame?

    我正在为班级做一个基本的乒乓球游戏 我的 Pong 正在工作 并且在启动时有 GUI 显示 不幸的是我似乎无法从启动 JButton 开始游戏 我已经评论了代码中的问题所在 并删除了不相关的代码 frame add GUIPanel JBu
  • Julia 自定义类型分配

    我尝试从 Julia 中的自定义类型分配多个元素 但是我不知道该怎么做 或者换句话说 我想重载赋值运算符以返回该类型中包含的所有元素的元组 这是所需的行为 type foo a b end a b foo 1 2 a gt 1 这是错误消息
  • Java HashMap.clear()和remove()内存有效吗?

    考虑以下HashMap clear code Removes all of the mappings from this map The map will be empty after this call returns public vo
  • Angular JS 未知提供者错误

    我在我的 Angular js 应用程序中遇到此错误 并且无法找出导致问题的原因 这似乎是一个常见问题 但我所有的故障排除都没有任何帮助 如果有人能指出问题所在 我们将不胜感激 谢谢 错误 injector unpr 未知提供程序 Resu
  • Hibernate:如何通过级联插入OnetoMany子级

    我正在尝试保留一个新的 UserTopics 对象 并将新的 UserTopic 映射到与多个 userId 对应的 Topic 表中 我不知道我在这里做错了什么 下面是我的代码和异常 我的 UserTopics 实体 Entity Tab
  • PyQt:QTableWidget获取选定的行号

    我需要获取 QTableWidget 中选定行的行号 如何获取 int 类型的数字 如何使变量随我单击的行而变化 要根据所选行更改变量 您可以连接信号QTableWidget cellClicked row column https doc
  • F# 交互,API 对 dll 引用的限制

    您如何解决类似这样的错误消息 Binding session to C Program Files x86 NLog NET Framework 4 0 NLog dll error FS0193 API restriction The a
  • Jasmine 监视 RxJS 5.5 操作员

    我正在尝试使用 Jasmine 监视 RxJS 操作员 在我的测试中有不同的用例 我希望控制 Observable 返回的内容 为了说明我正在尝试做的事情 我创建了上面的示例 尽管我认为它没有多大意义 因为此可观察值总是返回相同的硬编码字符
  • SonarQube REST API:读取各个项目的指标

    我的问题 我正在使用 SonarQube 7 1 版 并尝试提取与各个项目相关的指标和质量门 我们尝试过什么 在我们公司升级到 7 1 版本之前 我们使用 Python SonarQube API 来提取这些数据 api resources
  • 双倍到十六进制字符串并返回

    在 Java 中将双精度数转换为十六进制字符串相当简单 但我该如何做相反的事情呢 我的代码如下 我已经注意到其中NumberFormatException被抛出 大约 2 3 向下 public class HexToDoubleTest
  • 调整许多 PDF 的大小

    我正在编写的程序有许多 大约 1000 个 多页 PDF 问题在于 其中许多页面大小不一致 即使有时在同一文档中也是如此 有谁知道我可以通过编程方式浏览文件并将页面大小调整为我想要的大小的方法吗 这可以是任何语言 我可以在 Adob e A
  • 用于更改字段的 Java Jackson 注释[重复]

    这个问题在这里已经有答案了 我必须调用第 3 方 API 来获取货币汇率 但返回的 JSON 不断变化 如果我请求MYR to USD转换 它会返回我 MYR USD 0 246731 所以如果我要求KRW to USD 它会返回我 KRW
  • ASP.NET MVC 视图 - 我可以使用代码隐藏吗

    我是 MVC 新手 我注意到视图页面由于所有混合的脚本标签看起来非常糟糕 在视图代码隐藏的方法中生成 HTML 然后将方法的字符串结果作为单个脚本插入 是否有意义 例如 div div 这是否违背MVC理念 由于其他原因 例如性能 而变得愚