代码之家  ›  专栏  ›  技术社区  ›  w0051977

将@html.textbox(“datepicker”)设为只读(因此用户无法键入)

  •  0
  • w0051977  · 技术社区  · 6 年前

    请参见下面的视图代码:

    <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.textbox(“datepicker”)为只读(这样只有datepicker可以填充它),即用户不能键入它。我花了一个小时的时间在谷歌上搜索这个,并且已经找到了: Using DatePicker with .NET

    1 回复  |  直到 6 年前
        1
  •  2
  •   Matthijs shashishailaj    6 年前

    添加一个 readonly 通过将匿名对象作为第三个参数传递给属性。

    这个 null (第二个参数)是否保留输入值为空。当然,如果必要的话,你可以把它装满。

    @Html.TextBox("datepicker", null, new { @readonly = "readonly" }) 
    

    注: @ 需要符号,因为“readonly”是保留关键字。

    请记住,用户 能够通过删除 只读 属性。为了安全地处理该值,需要在后端进行适当的值检查。