语法-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

有人能告诉我如何解决这个问题吗?(或替代方案?!)

语法-ActionLink视图中的If语句

应该是

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)%>