2012-04-23 78 views
0

我有以下代碼。ASP.NET MVC簡單代碼

<% if (Request.Path.ToLower().Contains("something")) 
     {%> 
      <%: Html.ActionLink("Something1", "Something1", "Home") %> 
     <%}else{%> 
      <%: Html.ActionLink("Something2", "Something2", "Home") %> 
     <%}%> 

我真的需要所有那些打開<%並關閉%>嗎?有沒有更簡單的方法來寫同一件事?

+0

我很欣賞Razor的所有答案,但是我的項目沒有使用Razon,而且它的轉換太晚了。 – Tigran 2012-04-23 22:36:12

+0

轉換其實並不晚。您不必轉換每一頁,您可以在處理它們時一次完成一頁。儘管您需要複製主頁面和佈局頁面直到轉換完成,但您可以毫無問題地混合使用aspx頁面和剃鬚刀頁面。 – 2012-04-23 22:45:00

回答

0
<% var s = Request.Path.ToLower().Contains("something") ? "Something1" : "Something2"; %> 
<%: Html.ActionLink(s, s, "Home") %> 

或者,在剃刀:

@{ var s = Request.Path.ToLower().Contains("something") ? "Something1" : "Something2"; } 
@Html.ActionLink(s, s, "Home") 
0

還有更簡單的方法:Razor syntax

@if (Request.Path.ToLower().Contains("something")) 
{ 
    Html.ActionLink("Something1", "Something1", "Home"); 
} 
else 
{ 
    Html.ActionLink("Something2", "Something2", "Home"); 
} 

但是您可能需要升級。

0

嗯,你可以使用剃刀的意見/ CSHTML :)

@if(Request.Path.ToLower().Contains("something")) 
{ 
    <div> @Html.ActionLink("Something1", "Something1", "Home") </div> 
}else { 
    <div> @Html.ActionLink("Something2", "Something2", "Home") </div> 
}