在 F# 中设置 ViewBag 动态对象的属性

2024-04-23

我在 C# 中有这个操作方法:

  public ActionResult Index() {
      ViewBag.Message = "Hello";
      return View();
  }

这个视图(Index.cshtml):

  <h2>@ViewBag.Message</h2>

这会在页面上产生预期的“Hello”。

我想用 F# 来做控制器。我试过了

type MainController() =
  inherit Controller()
  member x.Index() =
    x.ViewBag?Message <- "Hello"
    x.View()

这会产生错误消息“找不到方法或对象构造函数‘op_DynamicAssignment’”。

我查看了动态运算符的一些 F# 代码示例,但没有看到比几页描述和许多行代码更短的内容。对于这个属性“设置者”来说,它们似乎太笼统了。


The ViewBag属性只是一个暴露的包装器ViewData集合作为类型的属性dynamic,以便可以从 C# 动态访问它(使用属性集语法)。你可以使用实现?基于 DLR 来做到这一点(请参阅SO 的讨论 https://stackoverflow.com/questions/5057672/looking-for-robust-general-op-dynamic-implementation),但更容易定义?直接添加数据的运算符ViewDataDictionary(这是由ViewData财产):

let (?<-) (viewData:ViewDataDictionary) (name:string) (value:'T) =
  viewData.Add(name, box value)

那么你应该能够写

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

在 F# 中设置 ViewBag 动态对象的属性 的相关文章

  • 模型绑定到 MVC 中的列表

    我无法在服务器端检索简单的列表 有人能指出我正确的方向吗 public class TestList public string id get set public string name get set public string loc
  • ASP.NET MVC - 路由 - 具有文件扩展名的操作

    有没有办法实现调用URLhttp mywebsite myarea mycontroller myaction xml这基本上是 假 请求文件 但结果将是一个为动态创建的文件提供服务的操作操作 我试过这个 context MapRoute
  • Razor 三元表达式中的 Html 文字

    我正在尝试做类似以下的事情 div string IsNullOrEmpty myString nbsp myString div 上面的语法无效 我尝试了很多不同的东西但无法让它工作 请尝试以下操作 Html Raw string IsN
  • AJAX Webmethod 调用在 MVC3 上返回 404

    我一直在使用 EXTJS 4 并通过 AJAX 调用 aspx 页面代码隐藏上的 Webmethod 来加载我的商店 此方法适用于我的所有项目 直到我尝试将 EXTJS 4 工作移植到 MVC3 项目中 我的电话现在返回 404 关键部分是
  • ASP MVC4 - 通过视图模型传递列表以查看

    我有一个模型人物 其中包括出生日期等字段 我想将所有人的列表以及每个人的计算年龄传递给视图 因此 视图模型 public class vm PersonList public Person Person get set public int
  • 不支持关键字:“元数据”。?使用 MVC3 在实体框架中使用 Sql 连接

    我将 Entity Framework 4 与我的 Asp Net MVC3 应用程序一起使用 我的问题是我正在使用实体框架对我的数据库执行操作 工作正常 出于其他目的 我还使用 Sql Connection 来存储和检索数据库中的数据 我
  • 在 ASP.NET MVC3 中,应该如何呈现由多个模型支持的多个 PartialView?

    在 MVC3 Razor 中 如何创建具有多个表单的页面 以便每个表单都是使用自己的模型渲染的部分视图 我们一直在尝试各种形式的调用 Html RenderPartial 传入部分视图名称以及我们通过 ViewBag 访问的模型实例 但我们
  • 使用模型优先方法时如何播种数据?

    所以我正在学习MVC3和EF4 我尝试了代码优先方法 但它对我来说太混乱了 我可以毫无问题地创建类 但最困难的部分是处理外键和彼此之间的关系 但我首先选择了模型 这样我就可以直观地设计它并查看关系在哪里 创建模型后 它会为我创建一个 SQL
  • Microsoft ASP.NET Web Pages 2 Data Nuget 包的用途是什么?

    据我了解 ASP NET MVC 4 项目所需的最低 Nuget 包是 微软 ASP NET MVC 4 微软 ASP NET 剃刀 2 微软 ASP NET 网页 2 微软网络基础设施 不过我很想知道 以下包会添加到项目中什么 Micro
  • F# 在类型提供程序内的类型扩展函数中生成类型

    我有以下问题 在我的类型提供程序中 我需要使用一个返回此泛型类型实例的方法来扩展我之前定义的泛型类型 我的意思是 假设我们有 type receiveType lt a gt class val Next int val Type stri
  • 如何在 MVC 3 Razor 中显示解码后的编码 HTML?

    我在 MVC 3 和 Asp net C 中使用 Razor 我有一个带有以下代码的视图 model ContentBody有一些 HTML 标签 我需要将此 HTML 内容显示为DECODED 我该如何更改视图中的代码 div class
  • CS1003:语法错误,Razor 中应为“>”

    我正在尝试一些新的东西 对我来说 为我的布局视图模型使用抽象基类 问题是 当我按原样运行该网站时 它会抛出一个非常神秘的 对我来说 异常 这个异常是什么意思 我可以采取什么措施来解决它 Layout model MyApp Core Vie
  • 不使用 razor viewengine 进行 Nancy 本地化

    目前我在 Nancy 使用 razor 作为我的视图引擎 我可以在剃刀中像这样访问我的资源文件 Text text greeting 但我想切换到不同的视图引擎 是否有其他支持 TextResource 的视图引擎 在超级简单的视图引擎中本
  • ViewStart 和 Layout - 有什么区别?

    我刚刚开始阅读 ASP NET MVC 4 这本书并遇到一个问题 在 Razor 部分作者说 如果我不在 View cshtml 文件中设置布局变量 它将默认搜索 ViewStart cshtml 但在另一部分中 他在 Views Shar
  • 将模型从一个动作传递到同一控制器中的另一动作

    我正在尝试通过我的模型List 语句列表从一个操作到另一个操作 但我在第二个控制器中收到空值 请提出这里有什么问题 甚至尝试过 return RedirectToAction WriteInTemplate new statementLis
  • MVC 删除记录但如何在控制器中对此进行编码

    我是使用 ASP Net C 的 MVC3 初学者 但我没有遇到下一种删除记录的情况 我有一个视图要求用户确认删除项目 记录 作为代码 我用它来初始化视图 public ActionResult KeywordsDelete Guid id
  • f# 运行总计序列

    好吧 这看起来应该很容易 但我就是不明白 如果我有一个数字序列 如何生成由运行总计组成的新序列 例如 对于序列 1 2 3 4 我想将其映射到 1 3 6 10 以适当的功能方式 Use List scan https msdn micro
  • ASP.NET MVC - 授权属性登录重定向后保留 POST 数据

    我有一个带有评论的博客文章页面 任何用户 无论是否登录 都可以在页面底部看到一个表单来发表评论 当用户输入评论且未获得授权时 用户将被重定向到登录 注册页面 登录后 用户将被重定向回操作 但包含评论正文的 POST 数据会丢失 我使用 AS
  • 从 MVC 视图中的模型访问 displayName 属性

    如果我的模型有 DisplayName First Name public string firstName get set 然后我可以用 LabelFor 在视图中打印它 Html LabelFor model gt model acc
  • 使用 SqlBulkCopy 和 F# 在 SQL 中导出矩阵

    我想将大量数据从 F 传输到 SQL 表 基本上我的 F 代码创建了一个三列矩阵 UserID ProductID and price 和N行 我想将其 复制 粘贴 到数据库中 我尝试了多种选择 但最终 从 F 传输数据非常慢 10000

随机推荐

  • VS Code 刷新集成终端环境变量,无需重新启动/注销

    如果您在 Windows 上添加 更改某些环境变量 例如 PATH 即使重新启动 VS Code 后 它也不会在 VS Code 集成终端中可用 但是 如果您从 Windows 命令提示符 Powershell 打开该终端 它将具有这些新的
  • 获取设备屏幕分辨率

    我使用以下方法来获取屏幕尺寸 public static Point getScreenSize Context context WindowManager wm WindowManager context getSystemService
  • Laravel 5 Blade 在出现错误时显示空白页而不是抛出异常

    在 laravel 4 中 当你尝试渲染一个不存在的视图时应用程序 视图或者带有未定义变量的视图 laravel 将抛出异常或显示有助于调试的错误 我全新安装了 laravel 5 0 13 并且在对刀片模板进行故障排除时遇到了困难 该模板
  • useCallBack 和 useEffect 无限循环

    根据下面的代码 我需要在任何时候调用一个函数inView是真的 但是使用 useEffect and useCallback列出依赖项 我会导致无限循环 我设法避免它的唯一方法是不列出依赖项 但我收到一条警告 要求我列出它们 我只尝试过us
  • RGB 值作为变量

    如何在 rgb 中存储变量值 我使用这个不起作用的代码 我希望它是这样的 但不知怎的 它没有正确存储 R 将引号放在 200 左右 否则 R 也不起作用 我假设你正在使用 JavaScript 结果在 colval rgb 200 10 1
  • 运行“应用程序时出错:未找到目标设备”。 Android Studio 3.6 预览版

    初学者 无法在 Android Studio 3 6 上运行我的第一个 Android 应用程序 如何进行正确的设置才能在模拟器中查看预览设备 I tried the same question and discussion but fai
  • USR1 信号后可靠地终止睡眠进程

    我正在编写一个 shell 脚本 它定期执行任务并从另一个进程接收 USR1 信号 该脚本的结构类似于这个答案 https stackoverflow com a 27694965 1402511 bin bash trap echo do
  • Pygame 中按钮内的进度条

    期望的行为是 当用户将鼠标放在按钮上时 会出现深灰色进度条并开始以恒定的速度递增 我希望能够确定它完全充满需要多长时间 比如 2 秒 如果在进度条达到 100 之前鼠标移出按钮 进度条应直接变为 0 如果条达到 100 程序应在终端中打印一
  • 将重定向运算符与 Java Runtime Exec 一起使用

    我有这个字符串 在 Windows XP 的 JVM 中与 Runtime exec 一起使用 String cmd encoderFull i originalFull bitrate bitrateVBR i bvhq avi outp
  • 将全屏宽度和高度部分分为 3 行

    我有一个完整的宽度和高度部分 html 主页 我怎样才能将这个部分分成 3 行 div 每个 div 都是全宽并具有响应式背景图像 请建议我如何使用 css 和响应式页面来做到这一点 下面是解决方案 对于背景 2 在 css 代码或媒体查询
  • 在 Objective-c 问题中访问委托静态方法

    我在 Objective c 中遇到了一个奇怪的问题 这是代码 STViewController h import
  • 当鼠标在屏幕上移动时,角色仅保持移动?

    我的 while 循环仅在光标在屏幕内移动时维持精灵的移动 我尝试重新组织一些 screen blits 和 display update 和 display flip 我似乎无法弄清楚为什么角色在一个像素发生变化后停止 而不是像我预期的那
  • Java中如何进行方法链? o.m1().m2().m3().m4()

    我在许多 Java 代码符号中看到 在一个方法之后我们调用另一个方法 下面是一个例子 Toast makeText text setGravity Gravity TOP 0 0 setView layout show 调用后如您所见mak
  • TextKit:Xcode 中的编辑器占位符功能是如何实现的?

    我深入研究了 TextKit 想知道编辑器占位符是如何在 Xcode 代码编辑器中实现的 您也可以自己尝试一下并输入以下内容 lt Hello gt 它会自动变成占位符 Xcode 编辑器是使用 TextKit 构建的 经过一番研究 我想出
  • Android 中转义多个“%”字符

    在 我有这个野兽般的条目 归结为合理的最小值以重现效果
  • 通过 AWS API Gateway 上传的 PDF 已损坏

    我正在尝试使用已部署到 AWS API 网关的 C Web API 通过 Web 表单将 PDF 上传到 S3 存储桶中 这是我的代码 private static IAmazonS3 s3Client public static asyn
  • 核心数据:executeFetchRequest 与 PerformFetch

    我想要一份关于两者之间比较的完整列表 我所知道的事情 executeFetchRequest 消息已发送至 MOC 返回托管对象的数组 目标 从持久存储中获取对象到 MOC With table view 与表视图无关 频率 经常在循环中使
  • 如何隐藏应用程序名称后面的 JSF URL?

    我有一个 jsf 应用程序 我想隐藏 url 并在页面之间切换时仅保留 URL 中的应用程序名称 这就是我的网址 gt http localhost 8080 PlanificationDrapageWeb faces admin admi
  • RestSharp 发布请求 - 具有 x-www-form-urlencoded 值的正文

    我正在使用邮递员并发出 api post 请求 其中我使用 x www form urlencoded 键 值添加正文 并且它在邮递员中工作正常 当我使用 RestSharp 包从 C 尝试时 出现了问题 我已尝试下面的代码但没有得到响应
  • 在 F# 中设置 ViewBag 动态对象的属性

    我在 C 中有这个操作方法 public ActionResult Index ViewBag Message Hello return View 这个视图 Index cshtml h2 ViewBag Message h2 这会在页面上