【问题标题】:(VB) Passing a textbox value with a Url.Action via javascript(VB) 通过 javascript 传递带有 Url.Action 的文本框值
【发布时间】:2016-12-02 19:48:40
【问题描述】:

在 VB 中,我正在开发一个 MVC 项目。我有一个文本框来输入一些搜索条件,旁边有一个按钮,按下后将提交文本框的值。 html片段:

<input type="text" id="mySearchField" /> 
<button onclick="location.href='@Url.Action("Search", "Movies", New   RouteValueDictionary(New With {.searchCriteria = document.getElementById('mySearchField') }))'">Search</button>

我的问题围绕着最后一部分:

 New RouteValueDictionary(New With {.searchCriteria = document.getElementById('mySearchField') }))'"

上面的代码不起作用或无法编译,但这是我对我正在尝试做的事情的一般想法。

我想将文本框的值传递给电影/搜索功能,但是我不知道如何格式化该行以同时混合 html、asp 和 javascript。

为了清楚起见,我的 VB 函数:

    Function Search(searchCriteria As String) As ActionResult

        Return View()
    End Function

非常感谢任何建议!

【问题讨论】:

    标签: javascript jquery asp.net vb.net


    【解决方案1】:

    这应该非常接近。这有 jQuery 作为先决条件。为了使其可维护(您可以这样做,也可以不这样做),我会使用 NewtonSoft.Json 将 URL 正确序列化为 Javascript,并对文本框值进行 url 编码。

    <input type="text" id="mySearchField" /> 
    <button id=myButton>Search</button>
    
    <script>
         var url = '@Html.Raw(Url.Action("Search", "Movies"))';
         $("#myButton").click(function(){
             location.href = url + '?searchCriteria=' + $("#mySearchField").val()
         });
    </script>
    

    【讨论】:

    • 感谢 codenoir 的回复。对不起来晚了。我还没有机会对此进行测试,但同时我想表达我的感激之情。
    • 终于有机会测试了,完美运行!一旦添加了 jQuery,这就像一个魅力。谢谢!
    猜你喜欢
    • 2013-02-13
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-02
    • 2013-02-01
    • 2016-02-17
    相关资源
    最近更新 更多