【发布时间】:2015-07-30 21:54:21
【问题描述】:
我正在使用 VS 2013,MVC 5。 这是我的部分视图(_Sales.cshtml)的内容:
@model IEnumerable<SomeModel>
<div id="outer">
<div id="inner1">
@(Html.Kendo().Chart<SomeModel>(Model)
...
)
</div>
<div id="inner2">
<table>
<tr>
<td>Total Sales </td>
<td>@Model.First().TotalSales.ToString("C")</td>
</tr>
<tr>
<td>Total Discount </td>
<td>@Model.First().TotalDiscount.ToString("C")</td>
</tr>
</table>
</div>
</div>
下面是第一次加载时使用的动作方法:
public ActionResult _Sales()
{
IEnumerable<SomeModel> salesList = null;
SearchCriteriaObject criteria = null;
salesList = getting data as list;
return PartialView(salesList);
}
到目前为止,一切正常。这是我的部分观点,使用初始数据可以很好地渲染。
现在我的要求是当用户指定搜索条件并点击搜索按钮时,我需要刷新部分视图。
这里是搜索按钮的具体操作方法:
public ActionResult Get_BulletChartData_Updated(SearchViewModel criteriaModel)
{
IEnumerable<SomeModel> salesList = null;
SearchObject criteria = new SearchObject();
if (ModelState.IsValid)
{
if (criteriaModel != null)
{
//populating criteria here
}
salesList = //Getting data in list format
}
return PartialView(salesList);
}
在 javascript 中的搜索按钮单击事件处理程序中,我这样做:
$("#btnSearch").click(function () {
...
var Url = $('#Url').val(); //Getting action method url from hidden field
$.ajax({
type: "POST",
dataType: 'HTML',
data: JSON.stringify(SearchViewModel),
url: Url, //@Url.Action("Get_SalesDataFiltered", "Sales")
contentType: "application/json; charset=utf-8",
success: function (result)
{
alert('success');
//$("#outer").load(result);
},
error: function ()
{
alert("error");
}
});
点击搜索按钮时,我总是收到错误警报消息。 您能否指导我实现这一目标的正确方法。
我是 MVC 的新手。请随时询问更多信息。 如果你能提供我的代码,那就太好了。
谢谢。
【问题讨论】:
标签: model-view-controller asp.net-mvc-partialview