我有一个页面部分视图,其中包含DevEx ComboBox添加按钮和DevEx GridView(我省略了GridView代码)。页面显示正确与该部分视图,只有我有刷新它的问题。MVC.NET刷新(更新)部分视图没有AJAX
//_ProductAppsGridViewPartial
<div class="form-horizontal">
<h4>Apps</h4>
@using (Html.BeginForm("AppsGridViewPartialAddNew", "Products", new { ProductID = ViewBag.ProductID }))
{
<div class="form-group">
<h5>Add new App:</h5>
@Html.DevExpress().ComboBox(settings =>
{
//..do some settings for ComboBox - some code omitted
settings.Properties.ValueField = "ApplicationID";
settings.Properties.TextField = "Name";
}).BindList(Model.AppsNotInProduct).GetHtml()
<input type="submit" value="Add" class="btn btn-default" />
</div>
}
</div>
我有我的控制器,增加了选择的应用程序数据库,并返回相同的(但刷新)模型PartialView行动,但响应仅显示局部视图。下面是更新数据库之后返回PartialView控制器的行动的一部分:
public ActionResult ProductAppsGridViewPartialAddNew(int ProductID)
{
//....update DB code - WORKS FINE
..
var model = GetProductAppsPartialModel(ProductID);
ViewBag.ProductID = ProductID;
ViewBag.CanEdit = true;
return PartialView("_ProductAppsGridViewPartial", model);
}
是否有可能刷新wihout AJAX的局部视图,也许这是我上面写的?所以这里的主要问题是,我得到的新页面只显示部分视图。
谢谢@Luthervd。那么没有ajax和JS就没有办法刷新局部?我认为如果我返回部分视图,MVC足够聪明,可以刷新部分视图的区域:)。我是MVC的新手,所以我对可能出现的愚蠢问题表示抱歉。 – vpetrovic
看看我的修改答案 – Luthervd
谢谢!我得到它的工作!现在我有另一个问题,但它是DevEx的一个问题:组合框和网格是部分视图的一部分,当我从CB中添加一些东西后,刷新它在网格中而不是在CB中时,这很好。但是,当我在DevEx Grid中调用Delete链接时,它会接受一个局部视图并将其显示在警报对话框中。我想,网格期望纯粹的网格HTML的行动...我试图让CB和网格同步生成一个部分视图,但没有运气... – vpetrovic