У меня есть вид MVC с Ajax.ActionLink.
this.Ajax.ActionLink( "Create Offender", "Create", "ReportOffender",
null, new AjaxOptions()
{
HttpMethod = "GET", UpdateTargetId = "dialog",
OnBegin = "function() { $('#dialog').dialog('open'); }"
},
new Dictionary<string, object>() { { "class", "optionlink" } } )
Это вызывает действие под названием «Создать», которое возвращает частичное представление, которое затем помещается в div / диалог.Содержимое этого частичного представления представляет собой таблицу, некоторым строкам / столбцам и текстовым полям, каждому из которых присвоен класс CSS.
Проблема заключается в том, что при отображении диалогового окна с частичным представлением, отображаемым внутри,Классы CSS игнорируются и не отображаются.
Есть идеи, почему это происходит?
Спасибо
Майкл
PS Это частичное мнение, чтовозвращается из действия Create GET (см. Ajax.ActionLink выше) ...
<% using( this.Ajax.BeginForm( "Create", "ReportOffender", null, new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "dialog" } ) ) { %>
<% this.Html.RenderPartial( "~/Views/IncidentReporting/Report/Offender/DataEntryUserControl.ascx", this.Model ); %>
<% } %>
Как только пользователь заполняет форму, фрагмент ниже, вызывается метод Create POST и ответ помещается втот же диалог.Этот ответ будет либо «у вас есть ошибки», либо «сохранено успешно».Я использую другой RenderParital здесь, потому что у меня также есть аналогичная версия Edit, которая использует ту же форму.
Ниже приведен фрагмент HTML внутри DataEntryUserControl.ascx и представляет форму, которую пользователь должен заполнить ...
<table class="entity-form">
<tr>
<td class="entity-form-validation-summary" colspan="2">
<%= this.Html.ValidationSummary() %>
</td>
</tr>
<!-- FIRST NAME -->
<tr>
<td class="entity-form-caption"><label for="Entity.FirstName">First Name</label></td>
<td>
<%= this.Html.TextBox( "Entity.FirstName", this.Model.Entity.FirstName, 50, 50, this.Page.User.IsInRoles( SecurityGroups.Translators ), null ) %>
<%= this.Html.ValidationMessage( "Entity.FirstName" ) %>
</td>
</tr>
<!-- LAST NAME -->
<tr>
<td class="entity-form-caption"><label for="Entity.LastName">Last Name</label></td>
<td>
<%= this.Html.TextBox( "Entity.LastName", this.Model.Entity.LastName, 50, 50, this.Page.User.IsInRoles( SecurityGroups.Translators ), null )%>
<%= this.Html.ValidationMessage( "Entity.LastName" )%>
</td>
</tr>
Как видите, в этом нет ничего особенного.Методы TextBox с дополнительными параметрами - это методы расширения, которые я создал, чтобы добавить MaxLength, Size и т. Д. К элементам управления текстового поля.Именно здесь у меня проблемы с CSS.Я использую те же классы CSS и структуру форм в других местах в «обычных» представлениях, и они отображаются правильно.