razor - 如何在不破坏 C# 模板的情况下拥有可选的日期/时间选择器?
问题描述
我有一个内容类型,它有一个“开始日期和时间”字段,它是一个日期/时间选择器。然后在我的 C# 模板中,我有我的格式化日期和时间:
@Content.StartDateTime.ToString("h:mm tt")
如果该字段是可选的并且用户没有填写它,模块将抛出一个错误。为了解决这个问题,我必须使日期/时间选择器成为必需,然后使用演示设置切换来确定它是否显示。我还用日期预先填写了该字段。这没关系,但理想情况下,我有时希望将日期/时间字段保留为可选。
是否有不同的方法来编写 C# 代码来处理空字段?
解决方案
在“普通”C# 中,您可以执行此操作(但它不适用于 DNN 中使用的 Razor,它支持较旧的 C# 版本:
@(Content.StartDateTime?.ToString("h:mm tt"))
所以在 Razor 中它是 ca。这个 :
@(Content.StartDateTime != null ? Content.StartDateTime.ToString("h:mm tt") : "")
推荐阅读
- javascript - jQuery .load() 函数后,jQuery sortable() 不起作用
- node.js - 修改 server.js 以使用 heroku 部署处理 api 调用
- google-drive-api - Google Drive API - 转移整个驱动器的所有权(如网络界面)
- angular - ng-template 内容不会在 Angular 中使用引导工具提示的 title 属性内呈现
- vba - 运行时错误“3265”:在此集合中找不到项目。Access 中的 VBA 模块
- sql - 使用 @Formula(休眠注释)时无法提取 ResultSet
- python - 如何在异构列表和字典中使用递归
- javascript - 使用 jsonwebtoken 生成令牌并在 MERN 堆栈中的前端和后端之间传递令牌时出错
- python - CUDA 错误:使用 HuggingFace 训练 BERT 模型时出现 CUBLAS_STATUS_INVALID_VALUE 错误
- gcov - gcov 错误标志 = 66 gcda 文件未生成