当我将默认值绑定到textboxfor时,但未按预期工作
@Html.TextBoxFor(model => model.LinkAddress, htmlAttributes: new { @Value = ViewBag.link })
ViewBag.link是从控制器传递的值
我想将ViewBag.link值设置为textboxfor的默认值,但无法正常工作
答案 0 :(得分:1)
如果使用模型,则不需要ViewBag,因为来自Model属性的值将绑定到TextBoxFor。 但是,如果仅使用TextBox,则必须通过2种方式完成
第一:
@Html.TextBox("LinkAddress", (String)ViewBag.link)
第二:
<input type="text" value="@ViewBag.link" />
答案 1 :(得分:0)
您可以这样做:
@Html.TextBoxFor(model => model.LinkAddress, new { @Value = @ViewBag.link })
或
@Html.TextBox("LinkAddress", null, new { @Value = @ViewBag.link })
答案 2 :(得分:0)
您用value
进行的ViewBag
属性分配是没有意义的,因为TextBoxFor
已经绑定到您的视图模型,您可以简单地通过控制器操作来分配它,该控制器操作使用GET方法返回视图({ {1}})和相应的视图模型:
[HttpGet]
并按原样保留[HttpGet]
public ActionResult ActionName()
{
var model = new ViewModel();
model.LinkAddress = "linkaddresshere";
return View(model);
}
:
TextBoxFor
如果要从客户端分配文本框帮助程序的值,请在完全加载DOM对象后,使用Vanilla JS 的@Html.TextBoxFor(model => model.LinkAddress)
或jQuery.val()
属性:
value