2013-02-27 102 views
0

我需要使用IF-ELSE條件來檢查該人是否被命名爲Perry。如果是這樣,我需要執行IF聲明,否則如果人名不是Perry,那麼我將執行else塊。混合C#和HTML幫助器標記

即使他們說我們可以混合使用C#HTML helper標籤,但我無法使用IF-ELSE條件。 IF-ELSE顯示爲文本。我如何糾正我的代碼?

if(person == "Perry") 
{ 
    <div class="content"> 
    @using (Html.BeginForm("Go", "MyPro", new { }, FormMethod.Post, new { })) 
    { 
     @Html.TextBoxFor(mod => mod.id, new { id = "nameid" }) 
     <input type="text" id="name" name="name" /> 
     <input type="submit" value="send" class="send"/>  
     </div> 
    } 
}else { 
    <div class="content1"> 
     @using (Html.BeginForm("Come", "MyPro", new { }, FormMethod.Post, new { })) 
     { 
      @Html.TextBoxFor(mod => mod.id, new { id = "schoolid" }) 
      <input type="submit" value="Send School" class="submitschool"/> 
     } 
    </div> 
} 

回答

4

只要把@之前的C#代碼的HTML標籤,這是所有...

@{var person = "text";} 

@if(person == "Perry") 
{ 
    <div class="content"> 
     @using (Html.BeginForm("Go", "MyPro", new { }, FormMethod.Post, new { })) 
     { 
      @Html.TextBoxFor(mod => mod.id, new { id = "nameid" }) 
      <input type="text" id="name" name="name" /> 
      <input type="submit" value="send" class="send"/>  
     } 
    </div> 
} 
else 
{ 
    <div class="content1"> 
     @using (Html.BeginForm("Come", "MyPro", new { }, FormMethod.Post, new { })) 
     { 
      @Html.TextBoxFor(mod => mod.id, new { id = "schoolid" }) 
      <input type="submit" value="Send School" class="submitschool"/> 
     } 
    </div> 
} 

RAZOR SYNTAX EXAMPLES

+0

如果我想在IF語句之外創建一個變量,該怎麼辦?它是@var n =「」;因爲這不起作用。 – 2013-02-27 08:07:20

+0

'@ {var person =「text」;}'。我更新了答案。 – 2013-02-27 08:09:06

+0

if-else表現單塊,所以你不需要使用括號。 – 2013-02-27 08:11:25

0

需要在if前面前面加上一個@,否則Razor視圖引擎不知道你想切換到「代碼模式」。

+0

我應該如何創建if語句之外的變量。 @var something =「」不起作用 – 2013-02-27 08:08:05