MVC:按下按钮后显示表格

时间:2017-12-02 20:27:49

标签: c# asp.net-mvc-4

嗨我有一个问题是按下按钮后可能有显示我的桌子的功能,因为现在它一直在打开?我尝试过一些IF功能,但他们没有工作。 我的代码:

@using (Html.BeginForm("Search", "Home", FormMethod.Post))
    {
        <br />
        <span style="font-weight: bold">Tytuł filmu:</span> @Html.TextBox("VideoName")
        <input type="submit" value="Szukaj" class="btn-primary" />
        <br />
        <br />
        <table cellpadding="0" cellspacing="0">
            <tr>
                <th>
                    @Html.DisplayNameFor(model => model.ImageUrl)
                </th>
                <th>
                    @Html.DisplayNameFor(model => model.VideoName)
                </th>
            </tr>

            @foreach (var item in Model)
            {
                <tr>
                    <td>
                        @Html.DisplayFor(modelItem => item.ImageUrl)
                    </td>
                    <td>
                        @Html.DisplayFor(modelItem => item.VideoName)
                    </td>
                </tr>
            }
        </table>
    }

4 个答案:

答案 0 :(得分:0)

如果您将标记放在条件块中,如下所示:

@if (true)
{
   @* PUT MARKUP HERE *@
}

然后,只有在if条件为真时才会显示标记。

或者,您可以使用客户端代码来隐藏标记。我不知道哪个是最好的,因为您还没有提供有关您正在做的事情的任何细节。

不是说 按钮,也许你应该谈论你有什么样的按钮以及它应该做什么。如果它在服务器端工作,请使用我的第一个建议。如果它需要在客户端工作,请使用我的第二个建议。

答案 1 :(得分:0)

您可以使用一个按钮切换表格的可见性,在按钮onclick事件上调用以下功能以显示或隐藏表格。

function toggleTable() {
    var lTable = document.getElementById("YourTableId");
    lTable.style.display = (lTable.style.display == "table") ? "none" : "table";
}

答案 2 :(得分:0)

你可以通过多种方式实现这一目标,

  • 使用Javascript:

    document.getElementById('mytable')。style.display ='block'; 为您的表格提供一个ID并将其显示最初设置为none;,然后使用按钮上的javascript点击切换表格显示为block;

 function buttonClick(){
    document.getElementById('myTable').style.display = 'block';
 }
 <table id='myTable' style='display:none;'>...</table>
 <input type="submit" value="Szukaj" class="btn-primary" onclick='buttonClick()' />

注意:
- 如果你使用jquery,这会容易得多 - 您可以使用事件侦听器单击按钮

  • 服务器端代码: 在你的action方法上设置一个TempData或ViewBag变量,然后在html中检查该值是否存在,如果true则显示表

我确信还有很多其他方法可以做到这一点,但大多数方法都是围绕我列出的两个想法。

答案 3 :(得分:0)

你有几个很好的答案,但这取决于你想要完成的目标。我已经使用了各种已经提供的东西。你提到按钮点击显示表。如果再次点击所述按钮,是否还需要隐藏表格?如果是这样,客户端jQuery和.toggle()可以提供帮助。

$(document).ready(function(){
    $("button").click(function(){
        $("#myTable").toggle();
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<button>Toggle</button>    
<table id="myTable" style="border: 1px solid black; display: none">
  <tr>
    <th>Header 1</th>
    <th>Header 2</th>
  </tr>
  <tr>
    <td>Data 1</td>
    <td>Data 2</td>
  </tr>
</table>