C# 剑道网格不显示JSON MVC
我的控制器返回的是Json数据,但不是填充网格,而是显示为原始Json文本。第一次使用剑道,所以我不确定我做错了什么?网格是否未初始化?我在cshtml视图“报告”上有一个搜索表单。我希望搜索结果显示在部分视图“ReportsPhone”或“reports”视图本身上。我不知道这样做的最佳方式 报告视图C# 剑道网格不显示JSON MVC,c#,asp.net-mvc,json,razor,kendo-grid,C#,Asp.net Mvc,Json,Razor,Kendo Grid,我的控制器返回的是Json数据,但不是填充网格,而是显示为原始Json文本。第一次使用剑道,所以我不确定我做错了什么?网格是否未初始化?我在cshtml视图“报告”上有一个搜索表单。我希望搜索结果显示在部分视图“ReportsPhone”或“reports”视图本身上。我不知道这样做的最佳方式 报告视图 @model UtilityWebSite.Models.ReportsPhoneSupport @{ ViewBag.Title = "Reports"; } <div class
@model UtilityWebSite.Models.ReportsPhoneSupport
@{
ViewBag.Title = "Reports";
}
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<div class="row clearfix">
<div class="col-md-4 column">
<h2>Phone Support Reports </h2>
<div>
@using (Html.BeginForm("ReportsPhoneSupport", "Reports"))
{
<div>
@Html.LabelFor(model => model.UserId)<br />
@Html.TextBoxFor(model => model.UserId, new { @class = "k-textbox" }) <br />
</div><br />
<div>
@Html.LabelFor(model => model.FromDate)<br />
<div>@(Html.Kendo().DatePickerFor(model => model.FromDate))</div><br />
@Html.LabelFor(model => model.ToDate)<br />
<div>@(Html.Kendo().DatePickerFor(model => model.ToDate))</div>
<br />
<input type="submit" class="k-button" value="Submit" />
</div>
}
</div>
</div>
<div class="col-md-4 column">
</div>
<div class="col-md-4 column">
</div>
</div>
</div>
</div>
控制器
{
[Authorize]
public class ReportsController : Controller
{
public ActionResult Reports()
{
ReportsPhoneSupportSearchVM model = new ReportsPhoneSupportSearchVM();
model.ToDate = DateTime.Parse("05/14/2014");
//do
//{
// TimeSpan span = DateTime.Now - model.ToDate;
// if (span.TotalDays < 2) break;
// model.ToDate = model.ToDate.AddDays(14);
//}
//while (model.ToDate < DateTime.Now);
model.FromDate = model.ToDate.AddDays(-14);
return View(model);
}
[HttpPost]
public ActionResult ReportSearchResults(ReportsPhoneSupportSearchVM model)
{
return PartialView(model);
}
[HttpPost]
public ActionResult ReportsPhoneSupportRead([DataSourceRequest] DataSourceRequest request, ReportsPhoneSupportSearchVM model)
{
ReportPhoneSupportResultTypedView results = new ReportPhoneSupportResultTypedView();
string[] userIds = model.UserId.Split(',');
foreach (string userId in userIds)
{
int iUserId = 0;
if (Int32.TryParse(userId, out iUserId))
{
RetrievalProcedures.FetchReportPhoneSupportResultTypedView(results, model.FromDate, model.ToDate, iUserId);
}
}
var Results = from Reslt in results
select new
{
ActivityDate = Reslt.ActivityDate,
Action = Reslt.Action,
Assignment = Reslt.Assignment,
Description = Reslt.Description,
Result = Reslt.Result,
ToFrom = Reslt.ToFrom
};
return Json(Results.ToDataSourceResult(request));
//return Json(Results.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
}
}
}
{
[授权]
公共类报表控制器:控制器
{
公共行动结果报告()
{
ReportsPhoneSupportSearchVM模型=新的ReportsPhoneSupportSearchVM();
model.ToDate=DateTime.Parse(“2014年5月14日”);
//做
//{
//TimeSpan=DateTime.Now-model.ToDate;
//如果(总天数<2)休息;
//model.ToDate=model.ToDate.AddDays(14);
//}
//while(model.ToDate
搜索视图
@model UtilityWebSite.Models.ReportsPhoneSupportSearchVM
@{
ViewBag.Title = "Reports";
}
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<div class="row clearfix">
<div class="col-md-4 column">
<h2>Phone Support Reports </h2>
<div>
@using (Ajax.BeginForm("ReportSearchResults", "Reports", new AjaxOptions
{
UpdateTargetId = "searchResult"
}))
{
<div>
@Html.LabelFor(model => model.UserId)<br />
@Html.TextBoxFor(model => model.UserId, new { @class = "k-textbox" }) <br />
</div><br />
<div>
@Html.LabelFor(model => model.FromDate)<br />
<div>@(Html.Kendo().DatePickerFor(model => model.FromDate))</div><br />
@Html.LabelFor(model => model.ToDate)<br />
<div>@(Html.Kendo().DatePickerFor(model => model.ToDate))</div>
<br />
<input type="submit" class="k-button" value="Submit" />
</div>
}
@model UtilityWebSite.Models.ReportsPhoneSupportSearchVM
@{
ViewBag.Title=“报告”;
}
电话支持报告
@使用(Ajax.BeginForm(“ReportSearchResults”,“Reports”),新的AjaxOptions
{
UpdateTargetId=“searchResult”
}))
{
@Html.LabelFor(model=>model.UserId)
@Html.TextBoxFor(model=>model.UserId,新的{@class=“k-textbox”})
@Html.LabelFor(model=>model.FromDate)
@(Html.Kendo().DatePickerFor(model=>model.FromDate))
@Html.LabelFor(model=>model.ToDate)
@(Html.Kendo().DatePickerFor(model=>model.ToDate))
}
SearchResultsPartialView
@model UtilityWebSite.Models.ReportsPhoneSupportSearchVM
@(Html.Kendo().Grid<ZoomAudits.DAL.TypedViewClasses.ReportPhoneSupportResultRow>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(m => m.ActivityDate).Format("{0:MM/dd/yyyy}").Title("Activity Date");
columns.Bound(m => m.Assignment).Title("Assignment");
columns.Bound(m => m.Action).Title("Action");
columns.Bound(m => m.ToFrom).Title("ToFrom");
columns.Bound(m => m.Result).Title("Result");
columns.Bound(m => m.Description).Title("Description");
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("ReportsPhoneSupportRead", "Reports", Model))
)
)
@model UtilityWebSite.Models.ReportsPhoneSupportSearchVM
@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(m=>m.ActivityDate).Format(“{0:MM/dd/yyyy}”).Title(“活动日期”);
columns.Bound(m=>m.Assignment).Title(“Assignment”);
columns.Bound(m=>m.Action).Title(“Action”);
columns.Bound(m=>m.ToFrom).Title(“ToFrom”);
columns.Bound(m=>m.Result).Title(“Result”);
columns.Bound(m=>m.Description).Title(“Description”);
})
.Pageable()
.Sortable()
.Scrollable()
.可过滤()
.DataSource(DataSource=>DataSource
.Ajax()
.页面大小(20)
.Read(Read=>Read.Action(“ReportsPhoneSupportRead”,“Reports”,Model))
)
)
电网是否向控制器发送GET呼叫?它什么也没回来?这是怎么回事?网格是如何初始化的?我以前从未用过这个
{
[Authorize]
public class ReportsController : Controller
{
public ActionResult Reports()
{
ReportsPhoneSupportSearchVM model = new ReportsPhoneSupportSearchVM();
model.ToDate = DateTime.Parse("05/14/2014");
//do
//{
// TimeSpan span = DateTime.Now - model.ToDate;
// if (span.TotalDays < 2) break;
// model.ToDate = model.ToDate.AddDays(14);
//}
//while (model.ToDate < DateTime.Now);
model.FromDate = model.ToDate.AddDays(-14);
return View(model);
}
[HttpPost]
public ActionResult ReportSearchResults(ReportsPhoneSupportSearchVM model)
{
return PartialView(model);
}
[HttpPost]
public ActionResult ReportsPhoneSupportRead([DataSourceRequest] DataSourceRequest request, ReportsPhoneSupportSearchVM model)
{
ReportPhoneSupportResultTypedView results = new ReportPhoneSupportResultTypedView();
string[] userIds = model.UserId.Split(',');
foreach (string userId in userIds)
{
int iUserId = 0;
if (Int32.TryParse(userId, out iUserId))
{
RetrievalProcedures.FetchReportPhoneSupportResultTypedView(results, model.FromDate, model.ToDate, iUserId);
}
}
var Results = from Reslt in results
select new
{
ActivityDate = Reslt.ActivityDate,
Action = Reslt.Action,
Assignment = Reslt.Assignment,
Description = Reslt.Description,
Result = Reslt.Result,
ToFrom = Reslt.ToFrom
};
return Json(Results.ToDataSourceResult(request));
//return Json(Results.ToDataSourceResult(request, ModelState), JsonRequestBehavior.AllowGet);
}
}
}
@model UtilityWebSite.Models.ReportsPhoneSupportSearchVM
@{
ViewBag.Title = "Reports";
}
<div class="container">
<div class="row clearfix">
<div class="col-md-12 column">
<div class="row clearfix">
<div class="col-md-4 column">
<h2>Phone Support Reports </h2>
<div>
@using (Ajax.BeginForm("ReportSearchResults", "Reports", new AjaxOptions
{
UpdateTargetId = "searchResult"
}))
{
<div>
@Html.LabelFor(model => model.UserId)<br />
@Html.TextBoxFor(model => model.UserId, new { @class = "k-textbox" }) <br />
</div><br />
<div>
@Html.LabelFor(model => model.FromDate)<br />
<div>@(Html.Kendo().DatePickerFor(model => model.FromDate))</div><br />
@Html.LabelFor(model => model.ToDate)<br />
<div>@(Html.Kendo().DatePickerFor(model => model.ToDate))</div>
<br />
<input type="submit" class="k-button" value="Submit" />
</div>
}
@model UtilityWebSite.Models.ReportsPhoneSupportSearchVM
@(Html.Kendo().Grid<ZoomAudits.DAL.TypedViewClasses.ReportPhoneSupportResultRow>()
.Name("grid")
.Columns(columns =>
{
columns.Bound(m => m.ActivityDate).Format("{0:MM/dd/yyyy}").Title("Activity Date");
columns.Bound(m => m.Assignment).Title("Assignment");
columns.Bound(m => m.Action).Title("Action");
columns.Bound(m => m.ToFrom).Title("ToFrom");
columns.Bound(m => m.Result).Title("Result");
columns.Bound(m => m.Description).Title("Description");
})
.Pageable()
.Sortable()
.Scrollable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(20)
.Read(read => read.Action("ReportsPhoneSupportRead", "Reports", Model))
)
)