2016-03-30 15 views
2

Also im Grunde sehe ich ein ';' aus dem Nichts erscheinen. Ich habe keine Ahnung woher es kommt und keine offensichtliche Quelle dafür.ASP.NET MVC4 HtmlHelper Ausgabe extra unerwünschte Markup

Ich habe kein Javascript oder CSS in dieser Testseite.

My Model:

public class RegisterAccountViewModel 
    {   
     public long? Id { get; set; } 
     [Required] 
     public string FirstName { get; set; } 
     [Required] 
     public string LastName { get; set; } 
     [Required] 
     public string Email { get; set; } 
     [Required] 
     public string PhoneNumber { get; set; } 
     [Required] 
     public string AccountType { get; set; } 
     public string OrganizationName { get; set; } 
    } 

The View (Test.cshtml) (Nicht, dass es wichtig ist):

@model RegisterAccountViewModel 
@{Layout = null;} 

<!DOCTYPE html> 

<html> 
<head> 
    <meta name="viewport" content="width=device-width" /> 
    <title>Test</title> 
</head> 
<body> 
<div> 
    <input type="text" placeholder="FirstName"/> 
    <br/> 
    @Html.TextBoxFor(m => m.LastName, new {placeholder = "Last Name" }); 
</div> 
</body> 
</html> 

Der Regler

public class LoginController : Controller 
    { 
     [HttpGet] 
     public ActionResult Index() 
     { 
      return View(); 
     } 

     [HttpGet] 
     public ActionResult Test() 
     { 
      return View(); 
     } 

     [HttpPost] 
     [ValidateAntiForgeryToken] 
     public ActionResult Register(RegisterAccountViewModel model) 
     { 
      return null; 
     } 
    } 

image

Was gibt?

Um sicherzustellen, dass es in meinem Teil kein Problem gab, erstellte ich eine neue MVC-Site mit der Standardvorlage und fügte ein Textfeld hinzu; das Ergebnis ist das gleiche wie unter

enter image description here

Antwort

4

Remove Semikolon ; am Ende Name VZ TextBoxFor im Bild zu sehen.

@Html.TextBoxFor(m => m.LastName, new {placeholder = "Last Name" }); //<-- remove this semicolon 

HINWEIS: - In Rasierer (MVC) Syntax ; ist nur erforderlich, wenn Sie einige C# -Code innerhalb @{} schreiben, gibt es keine Notwendigkeit von ; am Ende der HTML-Methoden Helfer Erweiterung.

+0

Lol :) jetzt schämte I im fragte :) – sergio

+0

glücklich, Ihnen zu helfen ..;) –

2

Sie müssen ';' an der Endlinie in der Ansicht:

@Html.TextBoxFor(m => m.LastName, new {placeholder = "Last Name" })