在不使用QueryString的情况下传递参数

我的

我有一个MVC应用程序。在一页上,我有一个局部视图,显示一个引导表。我有一些双击表行时触发的javascript代码。此代码从双击的行中检索一些值,并构造一个URL,然后导航到该URL。

这可以正常工作,但是我创建url的方式意味着我在url中有显示为查询字符串的数据。不使用查询字符串如何实现导航。哦,如果可能的话,我需要导航到新的窗口/选项卡。

我的双击javascript代码是:

$mTable.on('dbl-click-row.bs.table', function (e, row, $element) {

        var cod = $('#hdCOD').val();
        var mv = mGetSelectedRow().CMonth;
        var yv = mGetSelectedRow().CYear;

        var diff_cv = moment.utc(cod).diff(moment.utc(yv + '-' + pad(mv, 2) + '-' + '24'), 'months', true);
        var plcf = '';

        switch(true) {
            case (diff_cv >= 2):
                plcf = 'past';
                break;
            case (diff_cv >= 1 && diff_cv < 2):
                plcf = 'last';              
                break;
            case (diff_cv >= 0 && diff_cv < 1):
                plcf = 'current';
                break;
            case (diff_cv < 0):
                plcf = 'future';
        }

        var url = 'ClaimMonth/ViewMonth?pn=' + mGetSelectedRow().Cpid + '&cm=' + mv + '&cy=' + yv + '&mt=' + plcf + '&cod=' + cod;
        window.open(url, '_blank');
    })

使用razor语法调用部分视图:

Html.RenderAction("GetSummaryForAdmin", New With {Key .pn = Model.PersonelNo})

我似乎无法在javaScript中找到一个等效的函数来模仿New With {Key .pn = Model.PersonelNo}我,我也不确定这是否是这样做的方法。我已经考虑过ajax调用,但是我认为我不能将其作为新窗口/选项卡打开。

任何帮助表示赞赏。

更新

我发现以下ajax.post方法为我提供了我想要的文档...在开发人员工具(Chrome / IE中为F12)中,使用网络标签可以看到该文档的调用,如果预览该文档,它会显示数据。但是该页面未显示在浏览器中。

在新窗口/选项卡中打开不是必需的,但是很高兴。

我的新代码取代了...

        //var url = 'ClaimMonth/ViewMonth?pn=' + mGetSelectedRow().Cpid + '&cm=' + mv + '&cy=' + yv + '&mt=' + plcf + '&cod=' + cod;
        //window.open(url, '_blank');

和...

        $.ajax({
            type : "post",
            url : "ClaimMonth/ViewMonth",            
            data :  {pn: mGetSelectedRow().Cpid, cm: mv, cy: yv, mt: plcf, cod: cod },            
            success : function(response) {
                window.open();
            },
            error : function(xhr) {
                console.log("error"+xhr.status);
            },
            complete : function() {
            }
        });

我将控制器功能更改为接受参数,而不是读取request.querystring

用户名

您将不得不结合使用postback和Session

  • AJAX Post(如您所愿)将值发送回服务器。

  • 在处理该回发的MVC操作方法中,将值保存到Session中:

    Public Function ViewMonth(...) As JsonResult
        Session("SavedMonth") = New MonthObj(pn, cm, cy, mt, cod)
    
        Return Json(True)
    End Function
    
  • 当AJAX发布成功返回时,请使用其他URL打开一个新窗口:

     success : function(response) {
            window.open('/ClaimMonth/AfterSave');
        },
    
  • 该URL的MVC操作方法从会话中加载保存的数据,然后显示它。

    Public Function AfterSave() As ViewResult
        Dim model As MonthObj = TryCast(Session("SavedMonth"), ModelObj)
    
        Return View(model)
    End Function
    

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在不使用 & 的情况下传递函数

来自分类Dev

使用反射在不使用数组的情况下传递和修改原语

来自分类Dev

Laravel 5.1:如何在不使用视图的情况下传递HTML正文和文本正文?

来自分类Dev

在不使用Bootstrap选项卡中的href的情况下传递PHP变量

来自分类Dev

Laravel 5.1:如何在不使用视图的情况下传递HTML正文和文本正文?

来自分类Dev

如何在不使用角度 6 的选择器的情况下传递数据

来自分类Dev

仅在不为空的情况下传递其他参数

来自分类Dev

在不执行参数的情况下传递带有参数的Javascript函数的最佳实践是什么?

来自分类Dev

如何在不调用参数的情况下传递带有参数的函数

来自分类Dev

如何在不违反其他输入字段验证的情况下传递必需的参数

来自分类Dev

如何在不影响“自我”的情况下传递参数

来自分类Dev

在不使用va_list的情况下在参数C ++中传递多个参数

来自分类Dev

在不使用GET参数的情况下在@ViewScoped bean之间传递对象

来自分类Dev

在不使用绑定的情况下将'this'和参数传递给addEventListener函数

来自分类Dev

在不使用绑定的情况下将'this'和参数传递给addEventListener函数

来自分类Dev

我可以在不使用c ++传递必需参数的情况下调用方法。怎么会?

来自分类Dev

AngularJS使用服务在没有$ scope的情况下传递数据

来自分类Dev

c# - 如何在不必使用循环迭代的情况下传递字典值

来自分类Dev

为什么不能在没有参数的情况下传递声明为需要参数的swift函数?

来自分类Dev

在不知道类型的情况下传递类的实例

来自分类Dev

在不渲染任何内容的情况下传递道具

来自分类Dev

在不调用线程的情况下传递参数-如何将Flask服务器置于线程中

来自分类Dev

在不使用TempData的情况下在ActionResults之间传递ViewModel

来自分类Dev

如何在不使用.babelrc文件的情况下将两个预设参数传递给babel?

来自分类Dev

我们可以在不使用Java中的return的情况下为通过参数传递的对象分配值吗?

来自分类Dev

我们可以在不使用Java中的return的情况下为通过参数传递的对象分配值吗?

来自分类Dev

Express - 如何在不使用查询字符串参数的情况下将数据传递给模型

来自分类Dev

picocli:在不使用样板的情况下解析参数

来自分类Dev

spring-mvc:如何在控制器中不使用方法参数的情况下在mvc中传递参数

Related 相关文章

  1. 1

    如何在不使用 & 的情况下传递函数

  2. 2

    使用反射在不使用数组的情况下传递和修改原语

  3. 3

    Laravel 5.1:如何在不使用视图的情况下传递HTML正文和文本正文?

  4. 4

    在不使用Bootstrap选项卡中的href的情况下传递PHP变量

  5. 5

    Laravel 5.1:如何在不使用视图的情况下传递HTML正文和文本正文?

  6. 6

    如何在不使用角度 6 的选择器的情况下传递数据

  7. 7

    仅在不为空的情况下传递其他参数

  8. 8

    在不执行参数的情况下传递带有参数的Javascript函数的最佳实践是什么?

  9. 9

    如何在不调用参数的情况下传递带有参数的函数

  10. 10

    如何在不违反其他输入字段验证的情况下传递必需的参数

  11. 11

    如何在不影响“自我”的情况下传递参数

  12. 12

    在不使用va_list的情况下在参数C ++中传递多个参数

  13. 13

    在不使用GET参数的情况下在@ViewScoped bean之间传递对象

  14. 14

    在不使用绑定的情况下将'this'和参数传递给addEventListener函数

  15. 15

    在不使用绑定的情况下将'this'和参数传递给addEventListener函数

  16. 16

    我可以在不使用c ++传递必需参数的情况下调用方法。怎么会?

  17. 17

    AngularJS使用服务在没有$ scope的情况下传递数据

  18. 18

    c# - 如何在不必使用循环迭代的情况下传递字典值

  19. 19

    为什么不能在没有参数的情况下传递声明为需要参数的swift函数?

  20. 20

    在不知道类型的情况下传递类的实例

  21. 21

    在不渲染任何内容的情况下传递道具

  22. 22

    在不调用线程的情况下传递参数-如何将Flask服务器置于线程中

  23. 23

    在不使用TempData的情况下在ActionResults之间传递ViewModel

  24. 24

    如何在不使用.babelrc文件的情况下将两个预设参数传递给babel?

  25. 25

    我们可以在不使用Java中的return的情况下为通过参数传递的对象分配值吗?

  26. 26

    我们可以在不使用Java中的return的情况下为通过参数传递的对象分配值吗?

  27. 27

    Express - 如何在不使用查询字符串参数的情况下将数据传递给模型

  28. 28

    picocli:在不使用样板的情况下解析参数

  29. 29

    spring-mvc:如何在控制器中不使用方法参数的情况下在mvc中传递参数

热门标签

归档