2016-03-30 7 views
2

Так что, в основном, я вижу ';' появляясь из ниоткуда. Я понятия не имею, откуда оно взялось, и нет явного источника для этого.ASP.NET MVC4 HtmlHelper, выводящий дополнительную нежелательную разметку

У меня нет javascript или css на этом тестовом сайте.

Моя модель: (Не то, чтобы это имеет значение)

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):

@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> 

Контроллер

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

Что дает?

Чтобы убедиться, что это не проблема в моей части, я создал новый сайт mvc с использованием шаблона по умолчанию и добавил текстовое поле; результат один и тот же, как показано на изображении ниже

enter image description here

ответ

4

Remove ; точкой с запятой в конце LastName TextBoxFor.

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

Примечание: - В бритве (MVC) синтаксис ; только требуется, когда вы пишете какой-то C# код внутри @{}, нет необходимости ; в конце методов расширения помощник HTML.

+0

Лол :) теперь им стыдно я спросил :) – sergio

+0

рад помочь вам ..;) –

2

Вы должны удалить ';' в конце линии в вашей точки зрения:

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

Смежные вопросы