2011-10-13 2 views
3
var grid = new WebGrid(source: Model, ...); 

grid.Column("IsValid", "IsValid", format: (item) => (item.IsValid) ? 
    ? Html.Raw("< src='../../Content//' />") 
    : Html.Raw("< src='../../' />"), style: "testStyle"), 

grid.Column(header: "Delete", format: 
    @<text> 
     <a href="@Url.Action("Delete", "TestInfo", new { id = item.id })" onclick="javascript:return ConfirmDelete();"> 
      <img src="../../Content/images/image.png" alt="" style="border:none;" /> 
     </a> 
    </text>, style: "testStyle") 

이 코드를 사용하면 내 삭제 단추가 Webgrid의 모든 행에 나타납니다. 첫 번째 열과 마찬가지로 이 true 인 경우에만 동일한 논리를 적용하여 (item) => (item.IsValid)에 삭제 단추 이미지를 표시하려고합니다. WebGrid 행을 조작하는 Asp.net MVC3

당신이 내가 현재 레코드가 다른 사람에 의해 잠겨 있지 않은 경우이 작업 같은 것을 가지고이

답변

3

을 수행 할 수있는 방법을 제안시겠습니까, 사용자는 텍스트 상자로 편집 할 수 있습니다.

grid.Column("Volume", "Monthly Vol", format: @<text>@if ((bool)TempData["CanEdit"]) 
                { 
                  <input type="text" title="@item.Volume" value="@item.Volume" /> 
                } 
                else 
                { 
     @(item.Volume.ToString())} </text>) 

그래서 나는 그것이있을 거라고 생각 당신에 적용

grid.Column(header: "Delete", format: @<text>@if (item.IsValid) 
                { 
                  <a href="@Url.Action("Delete", "TestInfo", new { id = item.id })" onclick="javascript:return ConfirmDelete();"> 
     <img src="../../Content/images/image.png" alt="" style="border:none;" /> 
                } 
                else 
                { 
<span style="display:none"></span> 
} </text>)