переопределить атрибут "id" Html.EditorFor - не работает - PullRequest
5 голосов
/ 01 сентября 2011

Попытка переопределить атрибут "id" Html.TextBoxFor (MVC 3) так, чтобы он выглядел следующим образом:

<input type="text" name="Password" id="@idPasswordTextBox" value="@Model.Password" />

где "idPasswordTextBox" определяется как: string idPasswordTextBox = "passwordText_"+@Model.Key; в том же файле cshtml.

Это нормально работает, если я использую как:

<input type="text" name="Password" id="@idPasswordTextBox" value="@Model.Password" />

но не работает, если я делаю это так:

@Html.TextBoxFor(model => model.Password, new { id = "@idPasswordTextBox" })

Похоже, что атрибут "id" запутался. Что мне не хватает? Кто-нибудь может помочь? Я новая пчела в ASP.net.

Заранее спасибо.

1 Ответ

5 голосов
/ 01 сентября 2011

Извините, мне следовало посмотреть более внимательно.Вам не нужны кавычки вокруг @idPasswordTextBox в вашем методе TextBoxFor.Это выполняется на сервере, поэтому, когда вы помещаете кавычки вокруг имени, оно рассматривается как буквенная строка.Удалите кавычки и удалите знак @ перед id, и он будет работать.

Важно всегда помнить, что работает на сервере, а что на клиенте.

@Html.TextBoxFor(model => model.Password, new { id = @idPasswordTextBox })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...