我有一个带有Ajax.ActionLink的MVC视图。
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" } } )
这会调用一个名为“Create”的动作,该动作返回一个局部视图,然后放在div / dialog中。这个局部视图的内容是一个表,一些行/列和文本框,每个都有一个分配给它们的CSS类。
问题是当显示对话框时,部分视图在内部呈现,CSS类被忽略而不呈现。
有关为何发生这种情况的任何想法?
由于
迈克尔
P.S这是从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,因为我也有一个使用相同形式的类似编辑版本。
下面是DataEntryUserControl.ascx中HTML的片段,代表用户必须完成的表单...
<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类和表单结构,并且它们正确呈现。
答案 0 :(得分:1)
使用web开发人员或firebug /验证您的html输出/或查看表 可能是第一名没有上课/
如果情况不是这样的话; 将样式表链接放入ascx /