繁体   English   中英

从JavaScript调用视图

[英]Calling view from JavaScript

我有一个像这样定义的JavaScript函数:

function onQuickSearchClick(s) {
    var query = s.GetText();

    $.post('/Search/', { query: query });
}

现在我想用SearchController中的查询文本调用View“Search”。 我怎样才能做到这一点?

执行此操作时,不显示任何视图:

SearchController.cs:

    public ActionResult Index(string query)
    {
        // Can't do "return View(query)" here, because this would be interpreted as the view name
        return View();
    }

如何将查询参数传递给我的Views / Search / Index.cshtml?

function onQuickSearchClick(s) {
    var query = s.GetText();

    window.location = '@Url.Action("Index", "Search")?query=' + query; 

    /* OR
    window.location = 'Search/Index?query=' + query; 
    */

    //$.post('/Search/', { query: query });
}

我想我没理解。 你可以像这样返回字符串作为模型:

public ActionResult Index(string query)
{
    return View((object)query);
}

然后你的MVC将知道query是一个模型而不是viewName

你必须使用三个参数重载。

第一个参数是视图名称,第二个参数是主视图名称,最后一个是模型。

return View("Index", "", query);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM