繁体   English   中英

如何在 MVC C# 中将文本框和下拉值从视图传递到 controller

[英]How to pass textbox and dropdown value from view to controller in MVC C#

我想知道如何将文本框中的值和选定值传递给 controller。 目前我能够到达我的 controller 但在文本框中输入的值和在下拉列表中选择的值始终是 null 到达 Z594C103F2C6E04C3D8AB059F031这使用 ViewData 代替?

我的文本框、下拉菜单和搜索按钮

<div id="cc" class="modal fade" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span></button>
                <h4 class="modal-title">Advanced Search</h4>
            </div>
            @using (Html.BeginForm("AdvancedFilteredSearch", "FilteredSearch", FormMethod.Get, new { id = "frmAdvancedSearch", @class = "form-horizontal", role = "form" }))
            {
            <div class="modal-body">
                <div class="dropdown">
                    <br />
                    <select class="form-control" id="condition" name="condition">
                        <option value="">Select Search Conditions</option>
                        <option value="1">Between</option>
                        <option value="2">Or</option>
                    </select>
                </div>


               <div>
                <i class="fas fa-envelope prefix grey-text"></i>
                <input type="text" id="search" name="search" class="form-control validate" placeholder="Type here">
                </div>

            </div>

            <div class="modal-footer">
                <button type="button" class="btn btn-default" data-dismiss="modal">Clear Filters</button>
                <button type="button" onclick="location.href = '@Url.Action("FilteredSearch", "FilteredSearch")'"class="btn btn-primary">Search</button>
            </div>
            }
            </div>
        </div>
    </div>



**My Controller Method**




  public ActionResult AdvancedFilteredSearch(FormCollection collection)
    {
        string value = Convert.ToString(collection["search"]);
        string value = Convert.ToString(collection["condition"]);
        return View(db.marketingdbclients_dataTable.Where(a => a.ClientId < 500));

    }

以前从未使用过 FormCollection class。 但据我记得,当您提交表单时,您可以简单地执行以下操作:

[HttpPost]
public ActionResult AdvancedFilteredSearch(int condition, string search )
    {
        return View(db.marketingdbclients_dataTable.Where(a => a.ClientId < 500));
    }

您的变量“条件”和“搜索”应该与您的 HTML 表单元素的 id 相同。 并且不要忘记您的方法之前的 HttpPost 属性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM