MVC搜索代码

时间:2017-05-24 11:07:22

标签: c# asp.net-mvc-4

大家好,我希望你们都做得很好,所以我和我的伙伴一起开展一个项目,但我们都是中级程序员并且陷入了一个地方,所以我需要你的帮助......

问题是我被困在某个代码中,这个代码用于搜索菜肴":

ShowAll list page

After selecting value from a combo box

它正在从java脚本方法回发,如图所示,但我认为我的代码不完整,因为我无法从数据库中获取价值我在我的#34上显示列表; ShowAll page"但是当我从组合框中选择一个值时,它并没有显示任何内容..

ActionResult Code

public ActionResult ShowAll()
    {

        var a = from tb in me.RecipeTables select tb;

        return View(a.ToList());
    }

    [HttpPost]
    public ActionResult ShowAll(string searchDish)
    {
        var k = me.RecipeTables.Where(l => l.recipeName == searchDish);
        return View(k);
    }

使用java脚本函数查看代码

<html>

    

<script type="text/javascript">
    function SelectedIndexChanged()
    {
        this.myForm.submit();
    }
</script>

<%using (Html.BeginForm("ShowAll", "RecipeView", FormMethod.Post, new { id = "myForm", name = "myForm", enctype="multipart/form-data"}))  
 %>
<p>
    <%: Html.ActionLink("Create New", "Create") %>
    <select id="searchDish" name="searchDish" onchange="SelectedIndexChanged()">
        <option value="0">Select any</option>
        <option value="1">biryani</option>
        <option value="2">fried rice</option>
        <option value="3">Nihari</option>
        <option value="4">Tikka</option>
    </select>
</p>

需要帮助!!!提前谢谢

2 个答案:

答案 0 :(得分:0)

对于此功能,您需要在searchDish的OnChange上添加Ajax调用 但是你需要在代码中添加返回结果 注意:对于此功能,您需要在代码中添加 JQuery库

<script src="https://code.jquery.com/jquery-3.0.0.js"></script>

Ajax致电:

 $('#searchDish').change(function () {
 var vid = $("#searchDish").val();
     $.ajax({
                            url: "/RecipeView/ShowAll?id=" + vid,
                            type: "POST",
                            dataType: "html",
                            data: 'json',
                            async: false,
                            success: function (data) {

                                $('#divLanguage').html(data);

                            }
                        });
       });

干杯!!

答案 1 :(得分:0)

问题在于我在构造函数中发送字符串值并检索数字,因此我只是将其更改为,您甚至可以执行此操作,但不提供任何可以工作的值.. :)