C# 将@Html.TextBox(“datepicker”)设置为只读(这样用户就不能键入)
请参见下面的查看代码:C# 将@Html.TextBox(“datepicker”)设置为只读(这样用户就不能键入),c#,razor,asp.net-core,C#,Razor,Asp.net Core,请参见下面的查看代码: <div class="row"> <div class="col-md-4"> <form asp-action="MemberView"> <div asp-validation-summary="ModelOnly" class="text-danger"></div> <div class="form-group">
<div class="row">
<div class="col-md-4">
<form asp-action="MemberView">
<div asp-validation-summary="ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Name" class="control-label"></label>
<input asp-for="Name" class="form-control" />
<span asp-validation-for="Name" class="text-danger"></span>
</div>
<div class="form-group">
<label asp-for="DOB" class="control-label"></label>
@Html.TextBox("datepicker")
</div>
<div class="form-group">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</form>
</div>
</div>
如何使@Html.TextBoxdatepicker只读,以便只有datepicker才能填充它,即用户无法键入它。我已经花了一个小时在谷歌上搜索了这个,并且已经在这里查看了:通过将匿名对象作为第三个参数传递来添加只读属性
空的第二个参数用于保持输入值为空。如果有必要,你当然可以填
@Html.TextBox("datepicker", null, new { @readonly = "readonly" })
注意:@符号是必需的,因为“readonly”是保留关键字
请记住,用户可以通过删除readonly属性来操作HTML。需要在后端进行正确的值检查,以安全地处理值。谢谢。然而,这是行不通的。它只是在文本框中写入新的{@readonly=readonly},文本框仍然是可编辑的。您还有其他想法吗?您可以试试disabled属性。@Html.TextBoxdatepicker,new{@readonly=readonly}似乎有效注意有三个参数。但是,我不知道为什么。嗯,那是我的错。很抱歉。第二个参数是输入的当前值。第三个参数用于属性。我已经更新了我的答案。谢谢。我猜默认值的第二个参数是什么+1.