[英]Read Maximum length of Entity Framework field and assign to textbox in Razor View
[英]Razor: How to dynamically assign a value to a read only TextBox field?
我有一个read-only
文本框,它应该被动态初始化为一个值。 此字段出现,这是用来输入值,以对应于在前面的页面中创建的播放器(我使用的详细信息页面上RedirectToAction()
用于此目的,但无法访问传递“ PlayerID
从”值当前页面的控制器。因此决定使用TempData
。)。 由于每次添加新玩家时PlayerID
更改,因此该字段应显示该值,同时仍保持只读状态。 此外,这是一个“ required
”字段,因此在设置该值之前无法提交表单。
@Html.TextBoxFor(model => model.PlayerID, htmlAttributes: new { @readonly = "read-only", @class = "control-label col-md-2", value = @Html.Raw(TempData["PlayerID"]) })
我如何设置这个字段的值,因为它在TempData["PlayerID"]
?
您可以使用在页面加载时运行的 JavaScript,例如:
@section Scripts
{
<script>
$(function(){
$("#PlayerID").val('@TempData["PlayerID"]');
});
</script>
}
或者,您可以为动作内部的视图初始化模型,因此如果您的动作名称是“PlayerDetails”,那么您应该具有如下内容:
public ActionResult PlayerDetails()
{
return View(new Player{PlayerID=TempData["PlayerID"]}
}
这样,当视图绑定到视图模型时,它将被初始化为传递的值。
你可以试试下面的代码:
@Html.TextBox("PlayerID", @TempData["PlayerID"] ,new { @readonly = "read-only", @class = "control-label col-md-2"})
或者在你的情况下:
@Html.TextBoxFor(model => model.PlayerId, htmlAttributes: new { @readonly = "read-only", @class = "control-label col-md-2", Value = @Html.Raw(TempData["PlayerID"]) })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.