var grid = new WebGrid(Model, rowsPerPage: 10, canPage: true);
@grid.GetHtml(
columns: new[]
{
grid.Column("CompanyName",
style: "col1",
format:@Html.TextBoxFor(modelItem => modelItem.CompanyName,new{@class="edit-mode"})
)
})
格式显示如下
cannot convert from html string to function <dynamic object>
我也试过
format: item => Html.TextBox(
(string)item.CompanyName
)
如何在webgrid中格式化html助手?
答案 0 :(得分:2)
试试这样:
grid.Column(
"CompanyName",
style: "col1",
format: item => Html.TextBoxFor(
modelItem => modelItem.CompanyName,
new { @class="edit-mode" }
)
)
但我猜这不是你想要的,因为我猜你的视图会被绑定到不同的模型。
您需要的是以下内容:
grid.Column(
"CompanyName",
style: "col1",
format:
@<text>
@{ var index = Guid.NewGuid().ToString(); }
@Html.Hidden("HeaderItems.Index", index)
Html.TextBox(
"[" + index + "].CompanyName",
item.CompanyName,
new { @class="edit-mode" }
)
</text>
)
现在您要发布的视图可以强烈输入到您的视图模型的集合中:
[HttpPost]
public ActionResult SomeAction(IEnumerable<CompanyViewModel> model)
{
...
}
答案 1 :(得分:0)
这样做的一种方式是:
Format: m => Html.TextBoxFor(mdelItem => modelItem.CompanyName, new {@class="edit-mode"})