语法-ActionLink视图中的If语句
本文关键字:If 语句 -ActionLink 视图 语法 | 更新日期: 2023-09-27 17:59:00
我有一个问题想找到解决方案,经过多次尝试,我似乎都找不到解决方案。
问题我有两个ActionLinks,我想在我的视图中操作它们。
场景在强类型列表视图中。。。如果用户没有输入他们的foo,那么他们将可以选择创建一个新的foo。如果用户已经输入了他们的foo,那么他们将有only选项来创建新的foo2。(这当然会在if else条件下表示)
请有人指导我找到一个比下面的尝试更好的解决方案。
<% if (Model.Count() = 0)
{ %>
<p>
<%: Html.ActionLink("Create foo", "Createfoo") %>
</p>
<% } else if (Model.Count() != 0)
{ %>
<p>
<%: Html.ActionLink("Your foo2", "foo2") %>
</p>
<% } %>
// table logic
<% foreach (var item in Model) { %>
<td>
<%: Html.DisplayFor(modelItem => item.foo_id) %>
</td>
//more table logic blah blah blah
有人能告诉我如何解决这个问题吗?(或替代方案?!)
应该是
if (Model.Count == 0)
您需要==
进行比较。此外,我建议使用属性Count
,而不是函数Count()
。
进一步研究后,我发现它确实有效,只需要将()添加到model.count.
<% if (Model.Count() == 0)
{ %>
<p>
<%: Html.ActionLink("Create foo", "Createfoo") %>
</p>
<% }
else if (Model.Count() >= 1)
{ %>
<p>
<%: Html.ActionLink("Your foo2", "foo2") %>
</p>
<% } %>
感谢所有为我调查此事的人。
Model.Count()Model.Count不存在
-当计数大于0时,可以使用两个视图并在控制器中返回不同的视图。
-您可以将Action链接名称和Action方法名称放在Model 中
在控制器中:
if (xx.Count()==0)
return View("first",model)
else
return View("second",model).
或者在控制器中:
if (xx.Count() == 0
{
model.ActionMethodName = "Createfoo";
model.ActionLinkName="Create foo";
}
else
{
model.ActionMethodName = "foo2";
model.ActionLinkName="Your foo2";
}
然后,您可以在视图中使用<%:Html.ActionLink(Model.ActionLinkName,Model.ActionMethodName)%>