(VB)通过javascript

时间:2016-12-02 19:48:40

标签: javascript jquery asp.net vb.net

在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

非常感谢任何建议!

1 个答案:

答案 0 :(得分: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>