gpt4 book ai didi

asp.net-mvc-3 - View 或 Controller 中的 if 或 else 语句

转载 作者:行者123 更新时间:2023-12-04 23:28:22 25 4
gpt4 key购买 nike

在 (View) 中创建 (if) 和 (else) 语句时遇到问题。该语句的目的是隐藏以下代码:

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

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

</div>

View 是隐藏代码的最佳位置还是 Controller 更适合该任务。

仅当搜索查询不为空时才显示代码。下面的代码是搜索表单。
@using (Html.BeginForm())
{ <div id="borderSearch">
@Html.TextBox("searchString", "")
</div>
<input type="submit" value="Search News Archives" />
}

来自 Controller 的一些代码:
 if (Request.HttpMethod == "GET")
{
searchString = search;
}
else if (searchString == "")
{
return RedirectToAction("ErrorSearch");
}

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

欢迎任何有关如何实现这一目标的建议。

最佳答案

好的,我不是 100% 确定我是否完全理解您的问题,但如果我没听错,您不确定如何在第一块代码周围放置 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>
}

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

这是否回答你的问题?

P.S.- 如果您有兴趣,这里有一个方便的 Razor 语法快速引用:
http://haacked.com/archive/2011/01/06/razor-syntax-quick-reference.aspx

关于asp.net-mvc-3 - View 或 Controller 中的 if 或 else 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8845030/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com