【问题标题】:How can I retrieve my action parameters from controller action into Knockout VM如何将控制器操作中的操作参数检索到 Knockout VM 中
【发布时间】:2013-01-23 11:08:31
【问题描述】:

这是我的控制器操作...

    // GET: ex: /Question/Details/5?project=1
    public ActionResult Details(int? project, int? questionId)
    {
      ...
    }

这是我的淘汰赛虚拟机:

    // Get some other info about question
    $(document).ready(function () {
            getSomeOtherInfo(<need to pass question id here>, <need to pass project id here>);
    });

任何帮助将不胜感激。

【问题讨论】:

    标签: javascript asp.net-mvc knockout.js


    【解决方案1】:

    如果您使用强类型的 ViewModel 作为 Details,您可以将这两个属性添加到视图模型中,然后在视图中将值提供给 JavaScript:

    $(document).ready(function () {
        getSomeOtherInfo(@(Model.project), @(Model.questionId));
    });
    

    如果你没有使用强类型的 ViewModel,你可以使用 ViewBag

    【讨论】:

    • 谢谢奎蒂,我试过你的选择。当我使用 getSomeOtherInfo(@(Model.project), @(Model.questionId));当我使用 getSomeOtherInfo(Model.project, Model.questionId); 时出现错误“无效字符'@'”我收到一个错误“模型”未定义。我知道我在实施你的帮助时一定是错的,但是在哪里?
    • 如果您使用的是 Razor 视图引擎,那么 @(Model.project) 可以工作。如果你不是,那么你会做
    • 找到了为什么它对我不起作用的答案。我把它写在我的 js 文件中。下面的链接详细解释。 stackoverflow.com/questions/7626662/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2011-08-17
    相关资源
    最近更新 更多