2017-05-22 54 views
0

我想隐藏表格的一行,当我点击ref时。ASP .NET如何onclick隐藏表格行

我已经试过这样的事情:

{ 
    <tr id="trHide1" runat="server"> 
     <td>@Ajax.ActionLink(r.Jmeno.ToString(), "Detail", new { id = r.Jmeno }, new AjaxOptions() { UpdateTargetId = "modalContent", InsertionMode = InsertionMode.Replace, OnBegin = "openModalWindow" }), @r.Prijmeni</td> 
     <td>@r.Rez_kolobezky.Reg_cislo</td> 
     <td>@r.Datum_od</td> 
     <td>@r.Datum_do</td> 
     <td>@Html.ActionLink("OK", "Schovej", "Dnes", new { id = r.Id }, new 
       { onclick = "trHide1=false"})</td> 
    </tr> 
} 

和CONTROLER方法是这样的:

public ActionResult Schovej(int id) 
{ 
    try 
    { 
     Rezervace_dao rd = new Rezervace_dao(); 
     Rezervace r = rd.GetById(id); 
     //var trHide1 = false; 
     TempData["message-success"] = "Koloběžka byla odevzdaná"; 
    } 
    catch (Exception) 
    { 
     throw; 
    } 
    return RedirectToAction("Index", "Dnes"); 
} 
+0

为什么不直接使用JavaScript来做到这一点的客户? (和'runat =“server”'是webforms代码,而不是mvc) –

+0

对不起,我的坏!它的http://stackoverflow.com/questions/13545921/show-and-hide-table-row-on-click-for-jquery –

回答

0

解决的办法之一是:

  1. 在你的ViewModel创建bollean物业:ShowRow
  2. 在控制器上设置其值: r.ShowRow =真
  3. 在视图上要隐藏行,东西这样设置

{

<td @((!r.ShowRow) ? "style='display:none'" : string.Empty)>@r.Datum_do</td> 

}