MVC3 Html.DisplayFor - Czy możliwe jest wygenerowanie identyfikatora przez tę kontrolę?

Chcę być w stanie wyświetlić jakiś tekst, ale także mieć możliwość modyfikacji tekstu za pomocą jQuery.

<%= Html.DisplayFor(model => model.DeviceComponentName)%>

Gdybym użył EditorFor zamiast DisplayFor, zobaczyłbym identyfikator dla kontroli wejścia. Nie chcę jednak, aby wartość była edytowalna w ten sposób. Zrobiłem to DisplayFor, ale nie generuje właściwości ID dla elementu.

Czy powinienem po prostu zawinąć DisplayFor w div i zrobić coś takiego:

<div id="<%= ViewData.TemplateInfo.GetFullHtmlFieldName("DeviceComponentName") %>">
    <%= Html.DisplayFor(model => model.DeviceComponentName)%>
</div>

$('#DeviceComponentName').text('newValue');

Czy jest to czystszy sposób na osiągnięcie tego?

Aktualizacja: Czy istnieje sposób, który nie zależy od zapisanych na stałe łańcuchów? Coś, co wiąże się z samym obiektem, więc jeśli zmieni się nazwa mojej własności, otrzymam błąd kompilacji?

Ponadto używam tego kodu, ale nie widzę wartości identyfikatora:

<td class="editableValue">
    <%--Label should be editable, so it needs an ID, but only will be edited by jQuery so it can't be an EditorFor--%>
    <%= Html.DisplayFor(model => model.DeviceComponentName, new { id = "DeviceComponentName" })%>
    <button type="button" id="ComponentTreeButton" class="nestedDialogButton">...</button>
</td>

questionAnswers(7)

yourAnswerToTheQuestion