asp.net-mvc – webgrid中的Mvc 3 texbox(razor)

前端之家收集整理的这篇文章主要介绍了asp.net-mvc – webgrid中的Mvc 3 texbox(razor)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
简单问:如何让文本框显示值. item.LastName上的代码失败
@model List<Mvc2010_11_12.Models.Employee>
@{
    var grid = new WebGrid(source: Model,defaultSort: "FirstName",rowsPerPage: 3);
}

<div id="grid1">
    @grid.GetHtml(columns: grid.Columns(
        grid.Column("LastName"),grid.Column(format: (item) => Html.TextBox("LastName",item.LastName))
    ))
</div>

解决方法

扩展方法(即Html.TextBox)不适用于动态对象(即项目)……这是c#的限制.

你有几个选择:

format:InputExtensions.TextBox(Html,“Last Name”,item.LastName)//静态调用

格式:Html.TextBox(“Last Name”,(object)item.LastName)//强制转换为非动态对象

格式:& lt; input type =“text”name =“LastName”value =“@ item.LastName”/& gt; //避免扩展

另外,我相信有一个带有“item”参数的固有lambda – 你不应该自己声明这个.

猜你在找的asp.Net相关文章