【发布时间】:2017-01-06 13:33:10
【问题描述】:
我的大脑严重冻结: 我有一个 MVC 5 项目,该项目使用引导弹出窗体进行日期数据输入。在主登录页面上调用弹出框,数据被字符串化 JSON 转发到 Home 控制器中的 ActionResult 函数,然后访问 SQL 服务器数据库并返回 JSON 数据集,该数据集用于构建在 cshtml 视图中呈现的基于 D3 的可视化. 到目前为止,一切正常,数据是有效的模型,即已经过单元测试。 Home 控制器有两个控制器: popover js 脚本(抄自http://jsfiddle.net/itsabhik/cxm4rt2u/2/):
$('.main-attributes').on('shown.bs.popover', function () {
$('.submit').click(function () {
var fromval = $('.popover #fromvalue').val();
var toval = $('.popover #tovalue').val();
var option = {
url: '/Home/LoanCount',
data: JSON.stringify({ dStart: fromval, dEnd: toval }),
method: 'post',
dataType: 'json',
contentType: 'application/json;charset=utf-8'
};
$.ajax(option).done(function (data) {
return (data);
})
$('.main-attributes').popover('hide');
});
$('.cancel').click(function () {
$('.main-attributes').popover('hide');
});
});
还有控制器代码:
public ActionResult LoanCount(DateTime dStart, DateTime dEnd)
{
int iStart = (dStart.Year * 10000) + (dStart.Month * 100) + dStart.Day;
int iEnd = (dEnd.Year * 10000) + (dEnd.Month * 100) + dEnd.Day;
var json = Models.LoanCount.getCountStats (iStart, iEnd);
var data = JsonConvert.DeserializeObject<List<Models.LoanCount>> (json);
ViewBag.jData = json;
return Redirect ("/Views/Home/LoanCount.cshtml"); /* This is one of the
redirect variations that have been tried */
}
我遇到的问题是我使用的所有重定向变体都会抛出 404 not found 异常。调用无参数 ActionResult 的 RedirectToAction(...) 会引发 403 异常。 cshtml文件存在且路径验证无误。
正在使用的浏览器是 Chrome。缺少什么 - 关于这个问题的任何线索和建议?
【问题讨论】:
-
我不确定您为什么要返回重定向,但如果您只是从 Home/LoanCount 返回视图 - 路由是否有效?
-
我想使用弹出窗体从主页传递 SQL 查询参数。这些参数会产生一系列数据来评估企业中不同实体的流程绩效。
-
我想使用通过弹出表单输入的数据从主应用程序页面传递 SQL 查询参数。这些参数会产生一系列数据来评估流程性能,并且通常会生成企业中不同实体的 BI 仪表板。 Home/LoanCount 路线运行良好,并在第一次剪辑中实施,以测试基于 D3 的可视化页面。 SQL 查询参数在模型类中被硬编码以简化调试过程。希望这是有道理的。
-
您是否尝试过重定向到控制器方法或完整的 url 而不是视图?
-
是的。结果是一样的。
标签: asp.net-mvc-5