【问题标题】:How to combine JavaScript/jQuery with Razor如何将 JavaScript/jQuery 与 Razor 结合使用
【发布时间】:2013-12-13 19:53:51
【问题描述】:

我在 ASP.NET MVC4 应用程序的一个视图中创建了一个输入和一个按钮,我希望该按钮将输入字段的值作为参数传递给我的一个控制器。我遇到的问题是我只知道如何使用 jQuery 声明/获取所述值,但我似乎无法弄清楚如何将其用作传递的有效参数。我的代码如下:

观点:

包含两个元素的 div 元素:

<div class="searchLine">
<span><input type="text" id="searchField" title="Input search query here." /></span>
<button type="submit" id="searchButton" />
</div>

处理参数传递以生成新视图的脚本:

<script type="text/javascript">
var search = $("#searchField").val();

$("#searchButton").click(function() {
document.location = '@Url.Action("SearchResults", "Home", new {input = search })';
});
</script>

控制器:

需要参数的控制器。

public ActionResult SearchResults(string input)
{
ViewBag.Title = "Search";
ViewBag.Message = "Your search returned the following match(es).";

var results = Model.ModelController.UniversalSearch(input);
var movies = results.MovieListForUser;
var people = results.PersonListForUser;

return View();
}

根据我从堆栈上的其他问题中收集到的信息,我正在尝试使在服务器端工作的东西尝试与在客户端工作并且仅在运行时存在的东西进行通信。我对 razor 和整个 asp.net 业务都是新手,所以对于如何解决这个问题我有点不知所措。不过请放心,这是我尝试解决此问题的最终选择;我曾尝试阅读书籍并浏览多个在线网站以寻求解决方案,但均无济于事。就这样吧。

【问题讨论】:

标签: jquery asp.net html asp.net-mvc-4 razor


【解决方案1】:

由于您只是尝试进行重定向,也许这样的事情对您更有效:

@using (Html.BeginForm("SearchResults", "Home", FormMethod.Get))
{
   <div class="searchLine">
    <span>
        <input type="text" id="input" name="input" title="Input search query here." />
    </span>
    <button type="submit" id="searchButton" />
  </div>
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 2017-08-20
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    相关资源
    最近更新 更多