0
我想在我的超级链接的点击div来加载partialview
数据加载partialview,所以我写了这个代码来调用我的行动,返回Partialview,但无法装入我的部分观点无法使用Ajax调用
这是我Index.cshtml代码
@model IEnumerable<EcommerceApplication.Models.Products>
<link href="../../Content/Style.css" rel="stylesheet" type="text/css" />
<script src="~/Scripts/jquery-2.1.1.min.js"></script>
<script src="~/Scripts/jquery.validate.min.js"></script>
<script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#create').on('click', function() {
$.ajax({
type: 'GET',
contentType: 'application/json; charset=utf-8',
url: '/Home/Create',
success: function (data) {
$('#addItem').html(data);
},
error: function (data) {
alert("Error In Loading Cart Item ");
}
});
});
});
</script>
<p>
<a href="#" id="create">Create New</a>
</p>
<div id="addItem">
</div>
我的控制器的动作
[HttpGet]
public PartialViewResult Create()
{
var objProduct = new Products();
return PartialView("_Create", objProduct);
}
[HttpPost]
public JsonResult Create(Products objProducts)
{
if (Request.IsAjaxRequest())
{
_db.products.Add(objProducts);
_db.SaveChanges();
}
products = _db.products.ToList();
return Json(products);
}
我partialview代码
@model EcommerceApplication.Models.Products
@using (Ajax.BeginForm("Create", new AjaxOptions { InsertionMode = InsertionMode.Replace, HttpMethod = "post", OnSuccess = "UpdateList" }))
{
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.ProductName)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ProductName)
@Html.ValidationMessageFor(model => model.ProductName)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
@TrueBlueAussie:它是在同一个页面即指数。顺便说一句我已经更新了我的问题。 – 2014-10-29 10:19:22
如果你只是浏览到'/ home/create',你会得到局部视图还是错误? – 2014-10-29 10:19:54
尝试添加dataType:“text” – cosset 2014-10-29 10:20:57