gpt4 book ai didi

c# - MVC 5 中的 Null 属性不呈现。这是什么魔法?

转载 作者:太空狗 更新时间:2023-10-30 01:03:08 25 4
gpt4 key购买 nike

<form name="mailform" id="mailform" method="post" action="@(ViewBag.Test)" class="testForm">

我认为这会像 action="" 那样呈现我的操作属性(在 ViewBag.Test = null 的情况下),但我对 ASP.NET 感到困惑MVC 的行为。

当 ViewBag.Test 未定义时,我的操作属性未呈现。为了确认,我在 Chrome 和 Firefox 中打开了 View-source,但两者都没有我的表单的 action 属性。我还通过更改文本来检查它,但 action 属性仍未呈现。

谁能解释一下这是什么?我可以验证的链接是 ASP.NET MVC 5 的常见行为

最佳答案

选择删除它的是 MVC 框架(或更具体地说是 Razor 引擎)。它们被称为“条件属性”并且似乎已在 MVC 4 中引入。See here for more information (搜索:条件属性渲染),或 read this .

我想为什么实现它的答案可能只是为了方便,因此编码人员不必编写难看的检查来决定是否应包含某个属性。

如果你想强制空属性,那么你可以只处理空值。比如像这样……

<form name="mailform" id="mailform" method="post" action="@(ViewBag.Test ?? "")" class="jeetForm">

关于c# - MVC 5 中的 Null 属性不呈现。这是什么魔法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30597151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com