我正在用C编写一个MVC应用程序。在这一特定部分中,我有一个条件开关用于导航,以突出显示相应的选项卡。代码如下:
<script type="text/C#" runat="server">
string oController;
string oAction;
const string current = "class=\"current_page\"";
protected override void OnLoad(EventArgs e)
{
oController = ViewContext.RouteData.Values["controller"].ToString();
oAction = ViewContext.RouteData.Values["action"].ToString();
base.OnLoad(e);
}
</script>
<div id="menu">
<ul>
<li <%= (oController.Equals("Home") ? current : "") %>><a href="/">Home</a></li>
<li><a href="/CustomerManager/">Customer Manager</a></li>
<!-- <%: oController.Equals("Home") %> -->
<!-- <%: oAction %> -->
</ul>
</div>
在这条线上(
<li <%= (oController.Equals("Home") ? current : "") %>><a href="/">Home</a></li>
如果我使用
<%: %>
ASP块而不是
<%= %>
(正如建议的那样,由于后者即将被逐步淘汰),生成的文本显示为
<li class="current_page"><a href="/">Home</a></li>
而不是
<li class="current_page"><a href="/">Home</a></li>
有什么建议和/或发生这种情况的原因吗?谢谢!