8

我不确定为什么此语法会抱怨错误“未声明 Enter。由于保护级别可能无法访问”,并且必须输入“@html(”才能消除该错误。

此块抱怨错误

   @Using (Html.BeginForm("GetUser", "UserProfile", FormMethod.Post))
      Enter User id :-  @Html.TextBox("UserId",Model)  -- This line must write in this way @Html("Enter User id :-")
      <input type="submit" value="Submit  data" />  --This line complain ">" expected"
   End Using 

如果以这种方式重写代码,则抱怨消失了,但输出开头显示“System.Web.MVC.Html”,如下图所示

       @Html.BeginForm("GetUser", "UserProfile", FormMethod.Post)
       Enter User id :-   @Html.TextBox("UserId",Model) 

    <input type="submit" value="Submit  data" />

在此处输入图像描述

嗨 nemesv 如果使用@<Text>
,它会抱怨这个 -->“使用必须以结束使用结束。” 在此处输入图像描述

4

1 回答 1

7

当你在一个Using块内时,你在 Razor 中处于“代码模式”。

所以你需要使用@:(对于单行语句)或者@<text> .. </text>(对于多行语句)切换回“文本模式”并输出html。

随着使用@:

@Using (Html.BeginForm("GetUser", "UserProfile", FormMethod.Post))
      @:Enter User id :-  @Html.TextBox("UserId",Model)  
      @:<input type="submit" value="Submit  data" />
End Using

或使用@<text>

@Using (Html.BeginForm("GetUser", "UserProfile", FormMethod.Post))
      @<text>Enter User id :-</text>  @Html.TextBox("UserId",Model)  
      @<text><input type="submit" value="Submit  data" /></text>
End Using

另请参阅在代码块中组合文本、标记和代码部分以获取更多信息。

于 2013-05-07T08:25:22.807 回答