Поскольку вы не указали версию, я предполагаю, что вы работаете с текущим последним (3.1).
Форма представления комментариев контролируется CommentForm.cshtml в папке siteroot/Custom/Theme/YourCurrentTheme. Вот часть формы из темы Garland-Revisited.
<p>
<label for="txtName" class="lbl-user">@Resources.labels.name *</label>
<input type="text" class="txt-user" name="txtName" id="txtName" />
</p>
<p>
<label for="txtEmail" class="lbl-email">@Resources.labels.email *</label>
<input type="text" class="txt-email" id="txtEmail" />
</p>
<p id="commentCompose">
<textarea class="txt-content" id="txtContent" cols="50" rows="10" name="txtContent"></textarea>
</p>
Самый простой путь, вероятно, чтобы избежать изменений обработчика представления и преобразовать тип входного сигнала для скрытых и предварительного заполнения значения с их вошли в учетных данных. Возможный образец.
<input type="hidden" id="txtName" value="@SomeC#CodeToReadTheValuesFromTheLoggedInInformation" />
<input type="hidden" id="txtEmail" value="@SomeC#CodeToReadTheValuesFromTheLoggedInInformation" />
<p id="commentCompose">
<textarea class="txt-content" id="txtContent" cols="50" rows="10" name="txtContent"></textarea>
</p>
Это имеет последствия для безопасности. Вы доверяете своим пользователям не смешивать скрытые значения в форме. На открытом веб-сайте это, вероятно, недостаточно безопасно, и вам придется посмотреть на изменение обработчика отправки.
Изменение обработчика отправки имеет свои собственные проблемы с обслуживанием, так как вы будете запускать пользовательскую версию программного обеспечения, которая не будет автоматически обновляться при выходе следующей версии. Это зависит от вас, чтобы решить, что является лучшим путем в вашей ситуации.
Благодарим за помощь. Я использовал @ Security.CurrentMembershipUser.UserName для имени пользователя. –