Jquery Post调用RedirectToAction,但未呈现RedirectToAction中指定的视图

Jquery Post调用RedirectToAction,但未呈现RedirectToAction中指定的视图,jquery,asp.net-mvc,Jquery,Asp.net Mvc,下面是一些html <form id="frmSubmit" action="/Viewer" style="display:none;"> <div id="renderSubmit" class="renderReport"> <input type="hidden" name="reportYear" id="reportYear" value="" /&

下面是一些html

    <form id="frmSubmit" action="/Viewer" style="display:none;">            
        <div id="renderSubmit" class="renderReport">                 
            <input type="hidden" name="reportYear" id="reportYear" value="" />
            <input type="hidden" name="reportMonth" id="reportMonth" value="" />
            <input type="hidden" name="propIds" id="propIds" value="" />                
            <input type="hidden" name="reportName" id="reportName" value="" />                                                
            <input type="hidden" name="reportYearFrom" id="reportYearFrom" value="" />
            <input type="hidden" name="reportMonthFrom" id="reportMonthFrom" value="" />                
            <input type="hidden" name="reportYearTo" id="reportYearTo" value="" />
            <input type="hidden" name="reportMonthTo" id="reportMonthTo" value="" />                
        </div>    
    </form> 
注意…我确实像之前一样收到了$.post…但似乎没有任何区别

        $.post('Home/PostViewer/',
                        formData,
                        function(data) {
                            alert(data.Result);
                        }, "json");
这是控制器代码

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult PostViewer(string reportYear,
                               string reportMonth,
                               string propIds,
                               string reportName,
                               string reportYearFrom,
                               string reportMonthFrom,
                               string reportYearTo,
                               string reportMonthTo)
    {
        return RedirectToAction("Viewer");
    }
到目前为止,世界上的一切都是好的。我点击上面的方法,所有的值都被填充

下面是GetActionResult方法

    [AcceptVerbs(HttpVerbs.Get)]
    public ActionResult Viewer(string reportYear,
                               string reportMonth,
                               string propIds,
                               string reportName,
                               string reportYearFrom,
                               string reportMonthFrom,
                               string reportYearTo,
                               string reportMonthTo)
    {
        return View();
    }
我也在点击这个…在参数中看不到任何值…但那只是因为我还没有传递它们…我不认为这是阻止查看器页面显示的原因

现在…有人会期望查看器视图被呈现…对吗?…我所看到的只是调用它的页面…查看器页面从未被呈现

这是来自global.asax的路线

        routes.MapRoute(
            "Viewer",                                      // Route name
            "Home/Viewer",                                 // URL with parameters
            new { controller = "Home", action = "Viewer" } // Parameter defaults                                
        );

        routes.MapRoute(
            "Default",                                              // Route name
            "{controller}/{action}/{id}",                           // URL with parameters
            new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
        );
我可以直接浏览到这个页面 当我这样做的时候,我点击ActionResult方法,页面呈现的很好

非常感谢您的帮助

编辑


让它工作了…把按钮放在表格上 现在这个表单看起来像这样

     <form id="frmSubmit" name="frmSubmit" action="/Home/Viewer" method="post" target="_blank"> 
        <div id="renderSubmit" class="renderReport">                 
            <input type="hidden" name="reportYear" id="reportYear" value="" />
            <input type="hidden" name="reportMonth" id="reportMonth" value="" />
            <input type="hidden" name="propIds" id="propIds" value="" />                
            <input type="hidden" name="reportName" id="reportName" value="" />                                                
            <input type="hidden" name="reportYearFrom" id="reportYearFrom" value="" />
            <input type="hidden" name="reportMonthFrom" id="reportMonthFrom" value="" />                
            <input type="hidden" name="reportYearTo" id="reportYearTo" value="" />
            <input type="hidden" name="reportMonthTo" id="reportMonthTo" value="" />                
        </div> 
        <div id="reportList" class="renderReport">      
            <fieldset style="width:105%;">
            <legend class="reportStepLegend">Step 3. <br /> Click a report name below to view a report</legend>                
                <br />                 
                <% foreach (ReportMetaData item in (ReportMetaDataContainer)ViewData.Model) { %>                    
                    <div>                        
                        <input id=<%=item.SSRSName%> type="button" class="reportLink" value="<%=item.DisplayName%>" /> 
                    </div>                    
                <%}%>
            </fieldset>
        </div>   
    </form>
$('.reportLink').click(function() {
    if (CheckPropIds() === true) {
        $('#reportName').val(this.id);
        $("#frmSubmit").submit(); 
   }
});
     <form id="frmSubmit" name="frmSubmit" action="/Home/Viewer" method="post" target="_blank"> 
        <div id="renderSubmit" class="renderReport">                 
            <input type="hidden" name="reportYear" id="reportYear" value="" />
            <input type="hidden" name="reportMonth" id="reportMonth" value="" />
            <input type="hidden" name="propIds" id="propIds" value="" />                
            <input type="hidden" name="reportName" id="reportName" value="" />                                                
            <input type="hidden" name="reportYearFrom" id="reportYearFrom" value="" />
            <input type="hidden" name="reportMonthFrom" id="reportMonthFrom" value="" />                
            <input type="hidden" name="reportYearTo" id="reportYearTo" value="" />
            <input type="hidden" name="reportMonthTo" id="reportMonthTo" value="" />                
        </div> 
        <div id="reportList" class="renderReport">      
            <fieldset style="width:105%;">
            <legend class="reportStepLegend">Step 3. <br /> Click a report name below to view a report</legend>                
                <br />                 
                <% foreach (ReportMetaData item in (ReportMetaDataContainer)ViewData.Model) { %>                    
                    <div>                        
                        <input id=<%=item.SSRSName%> type="button" class="reportLink" value="<%=item.DisplayName%>" /> 
                    </div>                    
                <%}%>
            </fieldset>
        </div>   
    </form>
$('.reportLink').click(function() {
    if (CheckPropIds() === true) {
        $('#reportName').val(this.id);
        $("#frmSubmit").submit(); 
   }
});
它点击这里的控制器代码

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Viewer(string reportYear,
                               string reportMonth,
                               string propIds,
                               string reportName,
                               string reportYearFrom,
                               string reportMonthFrom,
                               string reportYearTo,
                               string reportMonthTo)
    {
        if (reportName == "foobar")
        {                
            return RedirectToAction("FoobarView");
        }
        else
        {
            return View("Viewer");
        }
    }
    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Viewer(string reportYear,
                               string reportMonth,
                               string propIds,
                               string reportName,
                               string reportYearFrom,
                               string reportMonthFrom,
                               string reportYearTo,
                               string reportMonthTo)
    {
        if (reportName == "foobar")
        {                
            return RedirectToAction("FoobarView");
        }
        else
        {
            return View("Viewer");
        }
    }

瞧!。。。我看到了风景!。。。如果报告名是foobar…我会看到FoobarView

让它工作了……把按钮放在表单上 现在这个表单看起来像这样

     <form id="frmSubmit" name="frmSubmit" action="/Home/Viewer" method="post" target="_blank"> 
        <div id="renderSubmit" class="renderReport">                 
            <input type="hidden" name="reportYear" id="reportYear" value="" />
            <input type="hidden" name="reportMonth" id="reportMonth" value="" />
            <input type="hidden" name="propIds" id="propIds" value="" />                
            <input type="hidden" name="reportName" id="reportName" value="" />                                                
            <input type="hidden" name="reportYearFrom" id="reportYearFrom" value="" />
            <input type="hidden" name="reportMonthFrom" id="reportMonthFrom" value="" />                
            <input type="hidden" name="reportYearTo" id="reportYearTo" value="" />
            <input type="hidden" name="reportMonthTo" id="reportMonthTo" value="" />                
        </div> 
        <div id="reportList" class="renderReport">      
            <fieldset style="width:105%;">
            <legend class="reportStepLegend">Step 3. <br /> Click a report name below to view a report</legend>                
                <br />                 
                <% foreach (ReportMetaData item in (ReportMetaDataContainer)ViewData.Model) { %>                    
                    <div>                        
                        <input id=<%=item.SSRSName%> type="button" class="reportLink" value="<%=item.DisplayName%>" /> 
                    </div>                    
                <%}%>
            </fieldset>
        </div>   
    </form>
$('.reportLink').click(function() {
    if (CheckPropIds() === true) {
        $('#reportName').val(this.id);
        $("#frmSubmit").submit(); 
   }
});
     <form id="frmSubmit" name="frmSubmit" action="/Home/Viewer" method="post" target="_blank"> 
        <div id="renderSubmit" class="renderReport">                 
            <input type="hidden" name="reportYear" id="reportYear" value="" />
            <input type="hidden" name="reportMonth" id="reportMonth" value="" />
            <input type="hidden" name="propIds" id="propIds" value="" />                
            <input type="hidden" name="reportName" id="reportName" value="" />                                                
            <input type="hidden" name="reportYearFrom" id="reportYearFrom" value="" />
            <input type="hidden" name="reportMonthFrom" id="reportMonthFrom" value="" />                
            <input type="hidden" name="reportYearTo" id="reportYearTo" value="" />
            <input type="hidden" name="reportMonthTo" id="reportMonthTo" value="" />                
        </div> 
        <div id="reportList" class="renderReport">      
            <fieldset style="width:105%;">
            <legend class="reportStepLegend">Step 3. <br /> Click a report name below to view a report</legend>                
                <br />                 
                <% foreach (ReportMetaData item in (ReportMetaDataContainer)ViewData.Model) { %>                    
                    <div>                        
                        <input id=<%=item.SSRSName%> type="button" class="reportLink" value="<%=item.DisplayName%>" /> 
                    </div>                    
                <%}%>
            </fieldset>
        </div>   
    </form>
$('.reportLink').click(function() {
    if (CheckPropIds() === true) {
        $('#reportName').val(this.id);
        $("#frmSubmit").submit(); 
   }
});
它点击这里的控制器代码

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Viewer(string reportYear,
                               string reportMonth,
                               string propIds,
                               string reportName,
                               string reportYearFrom,
                               string reportMonthFrom,
                               string reportYearTo,
                               string reportMonthTo)
    {
        if (reportName == "foobar")
        {                
            return RedirectToAction("FoobarView");
        }
        else
        {
            return View("Viewer");
        }
    }
    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult Viewer(string reportYear,
                               string reportMonth,
                               string propIds,
                               string reportName,
                               string reportYearFrom,
                               string reportMonthFrom,
                               string reportYearTo,
                               string reportMonthTo)
    {
        if (reportName == "foobar")
        {                
            return RedirectToAction("FoobarView");
        }
        else
        {
            return View("Viewer");
        }
    }

瞧!。。。我看到了风景!。。。如果报告名是foobar…我会看到FoobarView

如果您找到了解决方案,请将其作为答案,并将答案标记为已接受。这个问题看起来还没有解决。是的,先生!马上,上校!