Asp.net mvc 3 如何在webgrid列中格式化html帮助程序

Asp.net mvc 3 如何在webgrid列中格式化html帮助程序,asp.net-mvc-3,Asp.net Mvc 3,在这样的展览中 无法从html字符串转换为函数 我也试过了 var grid = new WebGrid(Model, rowsPerPage: 10, canPage: true); @grid.GetHtml( columns: new[] { grid.Column("CompanyName", style: "col1", format:@Html.TextBox

在这样的展览中

无法从html字符串转换为函数

我也试过了

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"})
    )
})

如何在webgrid中格式化html帮助程序?

一种方法如下:

format: item => Html.TextBox(
        (string)item.CompanyName
    )
试着这样做:

Format: m => Html.TextBoxFor(mdelItem => modelItem.CompanyName, new {@class="edit-mode"})
但我猜这不是你想要的,因为我猜你的观点是与另一个模型相关的

您需要的是以下内容:

grid.Column(
    "CompanyName",
    style: "col1",
    format: item => Html.TextBoxFor(
        modelItem => modelItem.CompanyName, 
        new { @class="edit-mode" }
    )
)
grid.Column(
“公司名称”,
风格:“col1”,
格式:
@
@{var index=Guid.NewGuid().ToString();}
@隐藏(“HeaderItems.Index”,Index)
Html.TextBox(
“[“+索引+”].CompanyName”,
item.CompanyName,
新建{@class=“编辑模式”}
)
)  
现在,您将发布到的视图可以强类型化到视图模型的集合中:

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]
公共行动结果SomeAction(IEnumerable模型)
{
...
}
[HttpPost]
public ActionResult SomeAction(IEnumerable<CompanyViewModel> model)
{
    ...
}