加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 视图或控制器中的if或else语句

发布时间:2020-12-16 06:38:13 所属栏目:asp.Net 来源:网络整理
导读:在(视图)中创建(if)和(else)语句时遇到问题.该语句的目的是隐藏以下代码: div id="clearbuton"p@Html.ActionLink("Clear","")/pp @String.Format("Total of {0} results",ViewBag.CountRecords) /div 视图是隐藏代码的最佳位置还是控制器更适合任务. 仅当搜
在(视图)中创建(if)和(else)语句时遇到问题.该语句的目的是隐藏以下代码:

<div id="clearbuton"><p>@Html.ActionLink("Clear","")</p>

<p> @String.Format("Total of {0} results",ViewBag.CountRecords)

  </div>

视图是隐藏代码的最佳位置还是控制器更适合任务.

仅当搜索查询不为空时才显示代码.下面的代码是搜索表单.

@using (Html.BeginForm())
{  <div id="borderSearch">
    @Html.TextBox("searchString","")
    </div>
    <input type="submit" value="Search News Archives" />
}

来自控制器的一些代码:

if (Request.HttpMethod == "GET")
            {
                searchString = search;
            }
            else if (searchString == "")
            {
                return RedirectToAction("ErrorSearch");
            }

            else
            {
                page = 1;
            }
            ViewBag.search = searchString;

有关如何实现这一目标的任何建议都将受到欢迎.

解决方法

好吧,如果我完全理解你的问题,我不是百分百肯定,但是如果我听到你的话,你不确定如何在第一段代码周围加上if语句和/或你是否应该这样做.

首先,这是“如何” – 你只是使用@if(原谅我,如果这看起来很明显 – 我不是试图侮辱你的智慧):

@if (!string.IsNullOrEmpty(ViewBag.search))
{
    <div id="clearbuton"><p>@Html.ActionLink("Clear","")</p>

    <p> @String.Format("Total of {0} results",ViewBag.CountRecords)</p>

    </div>
}

现在推理 – 你应该在视图中放一个“if”语句来显示或隐藏HTML吗?是的,一点没错.这就是MVC中为视图设计的内容.控制器用于执行查询和计算结果计数以及操作数据,但是视图需要获取结果并实际将它们呈现为HTML.因此,在这种情况下,我们依靠控制器来设置ViewBag.search的值,然后基于此,视图可以显示或隐藏特定的HTML块.控制器不会(也不应该)知道HTML.

这是否回答你的问题?

P.S.-如果你有兴趣,这是一个关于Razor语法的方便的快速参考:
http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读