首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在视图之间传递数据到另一个视图模型?

如何在视图之间传递数据到另一个视图模型?
EN

Stack Overflow用户
提问于 2012-10-04 19:37:04
回答 1查看 2.3K关注 0票数 2

我在我的一个项目中使用了Boilerplatejs和asp.net mvc2。我在一个样板视图中有一个自动补全搜索框。我希望将选择的"userId“(从搜索框的建议中)发送到另一个模块的视图模型,并使用该”userId“作为参数对控制器的操作方法进行ajax调用,然后获取一些特定信息给该用户,最后将其显示在该特定模块的视图中。

下面是我的自动完成脚本

代码语言:javascript
复制
$(document).ready(function () {
    $('#name-list').autocomplete({
        source: function (request, response) {
            $.ajax({
                url: "/Home/Searchuser",
                data: { searchText: request.term, maxResults: 10 },
                dataType: "json",
                success: function (data) {

                    response($.map(data, function (item) {
                        return {
                            value: item.DisplayName,
                            avatar: item.PicLocation,
                            rep: item.Reputation,
                            selectedId: item.UserUniqueid
                        };
                    }))
                }
            })
        },
        select: function (event, ui) {


            return selectedId; // **here im returning the required userId**
        }
    }).data("autocomplete")._renderItem = function (ul, item) {
        var inner_html = '<a><div class="list_item_container"><div class="image"><img src="' + item.avatar + '"></div><div class="label"><h3> Reputation:  ' + item.rep + '</h3></div><div class="description">' + item.label + '</div></div></a><hr/>';
        return $("<li></li>")
                .data("item.autocomplete", item)
                .append(inner_html)
                .appendTo(ul);
    };


});

我的问题是如何从另一个模块的视图模型中捕获返回的userId?这样,我就可以对Actionmethod进行ajax调用并检索必要的信息。有人能帮我吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-05 16:27:27

我认为你应该在这里使用URL控制器。一旦用户从搜索框中选择了特定的用户配置文件,您就可以让应用程序导航到该用户的配置文件页面。类似于:

代码语言:javascript
复制
Boiler.UrlController.goTo("user/"+ user.id);

现在,您的用户配置文件组件应该侦听

代码语言:javascript
复制
controller.addRoutes({
    'user/{id}' : new UserComponent(context),
});

能够通过URL处理您的业务对象总是很好的。这增强了添加书签和保存浏览器历史记录的能力。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12726412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档