在 ASP.NET Core 视图和 Razor 页面中,我们可以使用:
public class LoginModel
{
[BindProperty]
public bool DisplayCaptcha { get; set; }
// OR
[ViewData]
public bool DisplayCaptcha { get; set; }
// OR
[TempData]
public bool DisplayCaptcha { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在视图/页面/控制器之间共享数据...但是什么时候使用每个?
就我而言,它是一个简单的登录页面,当用户设置错误的密码时,我将显示验证码。
在表单帖子中,我将一个属性设置为 true ( DisplayCaptcha = true) 并使用验证码呈现页面:
@if (Model.DisplayCaptcha)
{
<div class="captcha-header">
...
</div>
}
Run Code Online (Sandbox Code Playgroud)
这工作正常,但我几乎不混淆属性应该是什么类型,或者我是否应该使用任何类型。