razor MVC EF如何根据模型条件显示和隐藏div

时间:2015-09-19 15:31:05

标签: razor asp.net-mvc-5

这里的总菜鸟:) 我在index.cshtml上有一个简单的表单,它将值提交给控制器,并且还显示结果。我希望这个表单隐藏@if(Model!= null)。它看起来像这样:

<div id="inputform" class="visible">
    <form id="certlookup" class="form-inline" role="form" method="get">
        <div class="input-group">
            <div><input class="form-control" name="prefix" placeholder="99" maxlength="2" type="number" required /></div>
            <div><select class="form-control dropdown" name="type" id="type"><option value="A">A</option><option value="B">B</option></select></div>
            <div>
                <input class="form-control" name="suffix" placeholder="9999" maxlength="4" type="number" required />
            </div>
            <div>
                <input class="btn btn-primary" type="submit" value="Go!" />
            </div>
        </div>
    </form>
</div>
@if (Model != null)
{...}

我不确定最好的方法是什么。我试图在我的Model!= null语句之后设置一个变量,设置class = @ hidden,但该变量在上面的表单中不可用。

这是可能的吗?这是一个移动的第一个站点,所以我希望表单输入在提供结果后消失,但理想情况下我不想使用单独的页面来获取表单和结果。 谢谢!

2 个答案:

答案 0 :(得分:5)

在表单前检查Model是否为null:

@if (Model == null)
{
<div id="inputform" class="visible">
    <form id="certlookup" class="form-inline" role="form" method="get">
        <div class="input-group">
            <div><input class="form-control" name="prefix" placeholder="99" maxlength="2" type="number" required /></div>
            <div><select class="form-control dropdown" name="type" id="type"><option value="A">A</option><option value="B">B</option></select></div>
            <div>
                <input class="form-control" name="suffix" placeholder="9999" maxlength="4" type="number" required />
            </div>
            <div>
                <input class="btn btn-primary" type="submit" value="Go!" />
            </div>
        </div>
    </form>
</div>
}

或者可以在&#34; inputformdiv&#34;:

中设置课程
@{
   string cssClass = Model == null ? "visible" : "hidden";
}
<div id="inputform" class="@cssClass">
<form id="certlookup" class="form-inline" role="form" method="get">
    <div class="input-group">
        <div><input class="form-control" name="prefix" placeholder="99" maxlength="2" type="number" required /></div>
        <div><select class="form-control dropdown" name="type" id="type"><option value="A">A</option><option value="B">B</option></select></div>
        <div>
            <input class="form-control" name="suffix" placeholder="9999" maxlength="4" type="number" required />
        </div>
        <div>
            <input class="btn btn-primary" type="submit" value="Go!" />
        </div>
    </div>
</form>

答案 1 :(得分:0)

您可以在带有FirstOrDefault()或不带有

的MVC视图中使用此条件

这解决了我的问题:

@if (Model.Table_Name.FirstOrDefault().Column_Name.HasValue == true)

<div>

// your code 

</div> 
相关问题