我是网络开发的新手。在我看来,如果Model.TemplateLocation(字符串)不为null或为空,我想有条件地显示一个按钮。下面是当前呈现按钮的代码:
<div class="WPButton MyButton">
<%=Html.ActionLink(Model.TemplateLinkName, "DownloadTemplate", "ExternalData", new ArgsDownloadTemplate { Path = Model.TemplateLocation, FileName = Model.TemplateFileNameForDownload }, new{})%>
</div>
在渲染之前,我可以在&lt; %%&gt;中包装一些C#代码来测试Model.TemplateLocations值吗?我被告知以某种方式调查@style =“display:none”。这可能是我需要的吗?
答案 0 :(得分:3)
您可以在代码块中添加控制语句,以有条件地输出HTML。
<% if (Model.SomeCondition) { %>
<div>
<ul>
<%=Html.ActionLink(Model.TemplateLinkName, "DownloadTemplate", "ExternalData", new ArgsDownloadTemplate { Path = Model.TemplateLocation, FileName = Model.TemplateFileNameForDownload }, new{})%>
</ul>
</div>
<% } %>
顺便提一下,&lt;%=%&gt;标签的版本只是对Response.Write()的代码调用的快捷方式。所以这将完成同样的事情:
<% if (Model.SomeCondition) {
Response.Write("<div><ul>");
Response.Write (Html.ActionLink(Model.TemplateLinkName, "DownloadTemplate", "ExternalData", new ArgsDownloadTemplate { Path = Model.TemplateLocation, FileName = Model.TemplateFileNameForDownload }, new{}));
Response.Write("</ul></div>");
} %>
关于任何一种方法的正确性存在很多争论。许多人讨厌他们必须使用的第一种方式的ASP标签的数量,许多人认为第二种方式是不正确的无论出于何种原因。我发现当它提供更简单的代码读取时我会同时使用它们。