在我的MVC应用程序中,我从partialview
拨打view
,我可以在Chrome
中显示其内容。但是,使用Firefox
时,不会显示partialview
的内容。我发现,当使用一个元素,即纯文本,<h1>
,<p>
等,如下所示:
<p style="visibility:hidden;"></p>
然而,这个解决方案是微不足道的,我想要正确理解和解决问题。另一方面,firebug控制台上没有错误消息。有什么想法吗?
查看:
@model IssueManagement.WebUI.Models.IssueViewModel
@{
ViewBag.Title = "New Ticket";
Layout = "~/Views/Shared/_IndexLayout.cshtml";
}
<div class="container" style="width:934px; min-height:800px;">
<!-- Page Header -->
<div class="row">
<div class="col-lg-12">
<h3 class="page-header">
New Ticket
</h3>
</div>
</div>
<!-- /.row -->
<div class="panel panel-default">
<div class="panel-body">
@Html.Partial("_Create")
</div>
</div>
</div>
<script type="text/javascript">
/* <![CDATA[ */ /* Some text, like JavaScript code, contains a lot of "<" or "&" characters. To avoid errors script code can be defined as CDATA. */
$(function () {
$("#btnCreate").prop("disabled", true).addClass("k-state-disabled");
});
/* ]]> */
</script>
的 PartialView:
@model IssueManagement.WebUI.Models.IssueViewModel
@{
ViewBag.Title = "New Ticket";
}
<script>
function filterIssueTypes() {
return {
projects: $("#ProjectID").val()
};
}
function filterTools() {
return {
issueTypes: $("#filterTools").val()
};
}
$(document).ready(function () {
var projects = $("#ProjectID").data("kendoDropDownList"),
issueTypes = $("#IssueTypeID").data("kendoDropDownList"),
tools = $("#ToolID").data("kendoDropDownList");
});
</script>
@using (Html.BeginForm("Create", "Issue", FormMethod.Post,
new { id = "frmCreate", enctype = "multipart/form-data" }))
{
<div id="popupDiv" style="height: 548px; /* 421px; */ overflow-y: scroll; margin-top: -7px; margin-bottom:-14px ">
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
@Html.LabelFor(m => m.ProjectID)
@(Html.Kendo().DropDownList()
.Name("ProjectID")
.OptionLabel("Select...")
.DataTextField("ProjectName")
.DataValueField("ProjectId")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetCascadeProjects", "Issue");
});
})
.Template("<span class=\"k-state-default\"><img src=\"" + Url.Content("#:data.IconUrl#\" /></span>").ToString() +
"<span style='padding-bottom:10px !important;' class=\"k-state-default\">#: data.ProjectName #</span>")
.ValueTemplate("<img class=\"selected-value\" src=\"" + Url.Content("#:data.IconUrl#\" /><span>#:data.ProjectName#</span>").ToString())
)
@Html.ValidationMessageFor(m => m.ProjectID)
<br />
//... removed for brevity
<!-- Place where you will insert your partial -->
<div id="partialPlaceHolder" style="display:none; margin-bottom:50px;"> </div>
</div>
<div class="panel-footer clearfix">
<div class="pull-right">
@(Html.Kendo().Button()
.Name("btnCancel")
.HtmlAttributes(new { type = "button", @class = "k-button", onclick = "closeWindow('#winCreate')" })
.Content("Cancel")
)
@(Html.Kendo().Button()
.Name("btnSubmit")
.HtmlAttributes(new { type = "submit", @class = "k-primary k-button" })
.Content("Save")
)
</div>
</div>
}
<script type="text/javascript">
/* <![CDATA[ */ /* Some text, like JavaScript code, contains a lot of "<" or "&" characters. To avoid errors script code can be defined as CDATA. */
$(function () {
$("form").kendoValidator({
errorTemplate: '<span class="vld vld-danger"><span class="k-icon k-warning" title="${message}"></span></span>'
});
$("#btnSubmit").click(function () {
if (!document.getElementById('frmCreate').checkValidity()) {
$('html, body').animate({ scrollTop: (0) }, 1000);
$('#popupDiv').animate({ scrollTop: (0) }, 1000);
var errorMsg = "Attention pls!..";
$('#divMessage').html(errorMsg).attr('class', 'alert alert-danger fade in');
$('#divMessage').show();
}
});
$('form').submit(function (event) {
event.preventDefault();
showKendoLoading();
var selectedProjectId = $('#ProjectID').val(); /* Get the selected value of dropdownlist */
if (selectedProjectId != 0) {
var formdata = new FormData($('#frmCreate').get(0));
$.ajax({
type: "POST",
url: '@Url.Action("Create", "Issue")',
data: formdata,
dataType: "json",
processData: false, //For posting uploaded files we add this
contentType: false, //For posting uploaded files we add this
success: function (response) {
if (response.success) {
window.location.href = response.url;
}
else if (!response.success) {
hideKendoLoading();
//Scroll top of the page and div over a period of one second (1,000 milliseconds = 1 second).
$('html, body').animate({ scrollTop: (0) }, 1000);
$('#popupDiv').animate({ scrollTop: (0) }, 1000);
var errorMsg = response.message;
$('#divMessage').html(errorMsg).attr('class', 'alert alert-danger fade in');
$('#divMessage').show();
}
else {
var errorMsg = null;
$('#divMessage').html(errorMsg).attr('class', 'empty-alert');
$('#divMessage').hide();
}
}
});
}
else {
$('#partialPlaceHolder').html(""); //Clear div
}
});
/* ]]> */
});
</script>