从JavaScript调用视图

本文关键字:视图 调用 JavaScript | 更新日期: 2023-09-27 18:14:53

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

function onQuickSearchClick(s) {
    var query = s.GetText();
    $.post('/Search/', { query: query });
}

现在我想用SearchController中的query-text调用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?

从JavaScript调用视图

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);