Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 5 ASP.Net MVC 5 ActionResult引发404异常_Asp.net Mvc 5 - Fatal编程技术网

Asp.net mvc 5 ASP.Net MVC 5 ActionResult引发404异常

Asp.net mvc 5 ASP.Net MVC 5 ActionResult引发404异常,asp.net-mvc-5,Asp.net Mvc 5,我的大脑严重冻结: 我有一个MVC5项目,它使用bootstrap popover表单输入日期数据。在主登录页上调用popover,并将数据字符串化为JSON转发到主控制器中的ActionResult函数,然后该函数访问SQL server db并返回一个JSON数据集,该数据集用于构建cshtml视图中呈现的基于D3的可视化。 在这一点上,一切都是有效的,数据是有效的,模型和viz已经过单元测试。主控制器有两个控制器: popover js脚本(抄袭自): 以及控制器代码: p

我的大脑严重冻结: 我有一个MVC5项目,它使用bootstrap popover表单输入日期数据。在主登录页上调用popover,并将数据字符串化为JSON转发到主控制器中的ActionResult函数,然后该函数访问SQL server db并返回一个JSON数据集,该数据集用于构建cshtml视图中呈现的基于D3的可视化。 在这一点上,一切都是有效的,数据是有效的,模型和viz已经过单元测试。主控制器有两个控制器: popover js脚本(抄袭自):

以及控制器代码:

        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 */
    }
public ActionResult LoanCount(DateTime dStart,DateTime dEnd)
{
int iStart=(起始年*10000)+(起始月*100)+起始日;
国际日=(密度年*10000)+(密度月*100)+密度日;
var json=Models.LoanCount.getCountStats(iStart,iEnd);
var data=JsonConvert.DeserializeObject(json);
ViewBag.jData=json;
return Redirect(“/Views/Home/LoanCount.cshtml”);/*这是
重定向已尝试的变体*/
}
我遇到的问题是,我使用的所有重定向变体都会抛出404NotFound异常。调用无参数ActionResult RedirectToAction(…)会引发403异常。cshtml文件存在,路径已验证且正确


正在使用的浏览器是Chrome。缺少什么-有关此问题的任何线索和建议?

您可以返回带有波浪号(~)前缀的视图。因此,URL不会更改

return View("~/Views/Home/LoanCount.cshtml");

如果要更改URL,必须使用带有控制器名称和方法名称的
RedirectToAction
方法

上一条评论:胖手指按回车键。修复方法是禁用ajax func,因为它正在发布回调,使用参数值重做URL并定义窗口位置,而不是发出ajax调用。现在一切正常。唷

        $('.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?dStart=" + fromval + "&" + "dEnd=" + toval,
                data: JSON.stringify({ dStart: fromval, dEnd: toval }),
                method: 'post',
                dataType: 'json',
                contentType: 'application/json;charset=utf-8'
            };

            window.location.href = option.url;

            $('.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 View ("~/Views/Home/LoanCount.cshtml");
    }
public ActionResult LoanCount(DateTime dStart,DateTime dEnd)
{
int iStart=(起始年*10000)+(起始月*100)+起始日;
国际日=(密度年*10000)+(密度月*100)+密度日;
var json=Models.LoanCount.getCountStats(iStart,iEnd);
var data=JsonConvert.DeserializeObject(json);
ViewBag.jData=json;
返回视图(“~/Views/Home/LoanCount.cshtml”);
}

我不确定您为什么希望返回重定向,但如果您只是从主页/借阅帐户返回视图-路由有效吗?我希望使用popover表单从主页传递SQL查询参数。这些参数生成一系列数据,用于评估企业中不同实体的流程性能。我希望使用通过popover表单输入的数据从主应用程序页面传递SQL查询参数。这些参数生成一系列数据,用于评估流程性能,通常用于生成企业中不同实体的BI仪表盘。Home/LoanCount路由运行良好,在第一次剪切中实现,以便测试基于D3的可视化页面。SQL查询参数在模型类中硬编码,以简化调试过程。希望这是有意义的。您是否尝试过重定向到控制器方法或完整url而不是视图?是的。结果是一样的。
        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 View ("~/Views/Home/LoanCount.cshtml");
    }