在MVC3中设置webgerid列宽

时间:2012-03-09 12:06:06

标签: css asp.net-mvc asp.net-mvc-3

我已定义一个WebGrid控件,我想设置列宽,因此我按以下方式设置列宽

  

Grid.Column(" Details",canSort:false,format:(item)=>   Html.ActionLink("详细信息","详细信息",新{id =   item.CompetitiveExam.CompetitiveExamId}),风格:"详细信息"

我的css课就像......

  

.details {width:100px; }

以上代码正常工作但我不想使用单独的css类。

我也尝试使用embeded css跟随代码,但它不起作用.....

  

Grid.Column(" Details",canSort:false,format:(item)=>   Html.ActionLink("详细信息","详细信息",新{id =   item.CompetitiveExam.CompetitiveExamId}),风格:"宽度:100px ")

请任何人都可以帮助我..............

1 个答案:

答案 0 :(得分:1)

参数名称“style”是一个不幸的选择。它仅用于类名,而不用于内联样式声明。

选项1。

如果你真的想在没有css的情况下改变列宽,那么Html.ActionLink还有另一个覆盖,它将htmlAttributes作为第四个参数。它将在每一行上呈现出这些属性,因此它不是最有效的,但它可以工作。

new { style = "display:inline-block; width:100px;" } 

这是完整的一行

Grid.Column("Details", 
            canSort: false, 
            format: (item) => Html.ActionLink("Details", 
                        "Details", 
                        new { id = item.CompetitiveExam.CompetitiveExamId }, 
                        new { style = "display:inline-block; width:100px;" }
                    )
           )


选项2。

对于您希望任何列类型包含格式的更一般情况,只需包含具有所需格式的包装器html。但是,这会使您的文档变得比它需要的更大:

format: ((item) => new MvcHtmlString("<div style='width:100px;'>" + 
                   "your content here" + 
                   "</div>"))
相关问题