2013-03-07 13 views

Antwort

11

Fügen Sie Ihre switch-Anweisung direkt in Ihre .cshtml-Datei ein. Es wird alles serverseitig an diesem Punkt sein.

Controller:

public ActionResult Page() 
{ 
    string data = "value1"; 
    return View(data); 
} 

CSHTML:

@model string; // this should be the Type your controller passes 

<div>some html content</div> 
@switch(Model) // Model is how you access your passed data 
{ 
    case "value1": 
     <div>...</div> 
    break; 
    case "value2": 
     <div>...</div> 
    break; 
} 
<div>more html content</div> 
+0

Thnks, aber wie ich Wert zu erhalten, die in der Steuerung ist zu sehen .. –

+0

Ich werde meinen Beitrag überarbeiten Sie zu zeigen. – Middas

+1

@vignesh, Sie können auch 'ViewBag' oder' ViewData' verwenden, um Werte vom Controller zur Ansicht zu übergeben. –

0

W3c hat einen Artikel über Logic Conditions

Mit dieser Probe

@switch(value) 
{ 
    case "YourFistCase": 
     <div>Login</div>; 
    break; 
    case "YourSecondeCase": 
     <div>Logout</div>; 
    break; 
} 

oder sehen sample

// Use the @{ } block and put all of your code in it 
@{ 
    switch(id) 
    { 
     case "test": 
      // Use the text block below to separate html elements from code 
      <text> 
       <h1>Test Site</h1> 
      </text> 
      break; // Always break each case 
     case "prod": 
      <text> 
       <h1>Prod Site</h1> 
      </text> 
      break; 
     default: 
      <text> 
       <h1>WTF Site</h1> 
      </text> 
      break;     
    } 
} 
+0

Ist es möglich, all diesen Code auf Controller zu verschieben ... als in cshtml inline –

-2

Warum verwenden Sie Switch-Anweisung?

Mögen Sie, wenn Bedingung ???

für

<% if(CheckYourCondition){ %> 

    <div class="TestClass"> 
    Test 
    </div> 

<% } %> 
+2

Ich glaube, das OP fragte nach einer Lösung mit Razor ... – jebar8

Verwandte Themen