Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于下拉列表选择的asp.net mvc动态搜索条件_Asp.net_Asp.net Mvc - Fatal编程技术网

基于下拉列表选择的asp.net mvc动态搜索条件

基于下拉列表选择的asp.net mvc动态搜索条件,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,早上好,我是asp.NETMVC的新手。我想开发一个小的应用程序,用户可以搜索使用下拉选择的基础上的标准。这意味着当他们选择一个选项时,将创建并初始化一个动态表单元素 这是应该显示的主屏幕 例如,当用户选择公司时,页面显示如下 以下是我的脚本: 我的控制器 public class RequesterController : Controller { private mEntities db = new mEntities(); public Lis

早上好,我是asp.NETMVC的新手。我想开发一个小的应用程序,用户可以搜索使用下拉选择的基础上的标准。这意味着当他们选择一个选项时,将创建并初始化一个动态表单元素

这是应该显示的主屏幕

例如,当用户选择公司时,页面显示如下

以下是我的脚本:

我的控制器

 public class RequesterController : Controller
    {
        private mEntities db = new mEntities();
        public List<SelectListItem>  LoadSelectionList(){
            List<SelectListItem> li = new List<SelectListItem>();
            li.Add(new SelectListItem { Text = "--- Select ---", Value = "0" });
            li.Add(new SelectListItem { Text = "Available Sticker", Value = "1" });
            li.Add(new SelectListItem { Text = "Company", Value = "2" });
            li.Add(new SelectListItem { Text = "Interval Date", Value = "3" });
            li.Add(new SelectListItem { Text = "Name", Value = "4" });
            li.Add(new SelectListItem { Text = "Reference Number", Value = "5" });
            li.Add(new SelectListItem { Text = "Interval Request Date", Value = "6" });
            li.Add(new SelectListItem { Text = "Valide Start Date", Value = "7" });

            return li;           
        }

        public ActionResult Index(string dllSearchCategory, string ddlCategory, string ddlCompany, string searchString){
            ViewData["selectionlist"] = LoadSelectionList();
             if (!string.IsNullOrEmpty(searchString)){
             users = users.Where(s => s.Name.Contains(searchString));
            }            
             return View(users);
        }

        public PartialViewResult LoadPartialGui(int id){
            IEnumerable<SelectListItem> iCompanies = null;

            switch (id) {
                case 1: { //Available Sticker

                    break;
                }
                case 2:
                    { //Company
                         iCompanies = db.Companies
                                        .ToList()
                                        .OrderBy(c => c.CompanyName)
                                        .Select(c => new SelectListItem
                                        {
                                            Value = c.CompanyID.ToString(),
                                            Text = c.CompanyName
                                        });

                        ViewBag.Companies = iCompanies;

                        break;
                    }
                case 3:
                    { //Interval Date

                        break;
                    }
                case 4:
                    { //Name

                        break;
                    }
                case 5:
                    { //Reference Number

                        break;
                    }
                case 6:
                    { //Interval Request Date

                        break;
                    }
                case 7:
                    { //Valide Start Date

                        break;
                    }
            }
            return PartialView("LoadPartialGuiView", iCompanies);
        }     
    }
公共类请求者控制器:控制器
{
private mEntities db=新mEntities();
公共列表加载选择列表(){
List li=新列表();
li.Add(新建SelectListItem{Text=“--Select--”,Value=“0”});
li.Add(新建SelectListItem{Text=“可用标签”,Value=“1”});
li.Add(新建SelectListItem{Text=“Company”,Value=“2”});
li.Add(新建SelectListItem{Text=“Interval Date”,Value=“3”});
li.Add(新建SelectListItem{Text=“Name”,Value=“4”});
li.Add(新建SelectListItem{Text=“Reference Number”,Value=“5”});
li.Add(新建SelectListItem{Text=“Interval Request Date”,Value=“6”});
li.Add(新SelectListItem{Text=“Valide Start Date”,Value=“7”});
返回李;
}
公共操作结果索引(字符串dllSearchCategory、字符串DllCategory、字符串DllCompany、字符串searchString){
ViewData[“selectionlist”]=LoadSelectionList();
如果(!string.IsNullOrEmpty(searchString)){
users=users.Where(s=>s.Name.Contains(searchString));
}            
返回视图(用户);
}
公共PartialViewResult LoadPartialGui(内部id){
IEnumerable iCompanies=null;
开关(id){
案例1:{//可用的贴纸
打破
}
案例2:
{//公司
i公司=db.公司
托利斯先生()
.OrderBy(c=>c.CompanyName)
.选择(c=>new SelectListItem
{
Value=c.CompanyID.ToString(),
Text=c.CompanyName
});
ViewBag.Companies=i公司;
打破
}
案例3:
{//间隔日期
打破
}
案例4:
{//Name
打破
}
案例5:
{//参考号
打破
}
案例6:
{//间隔请求日期
打破
}
案例7:
{//有效期开始日期
打破
}
}
返回PartialView(“LoadPartialGuiView”,iCompanies);
}     
}
**我的部分视图-LoadPartialGuiView**

@if (ViewBag.Companies != null) { 
    <fieldset>
        @Html.Label("Value: ")
        @Html.DropDownList("ddlCompany", (IEnumerable<SelectListItem>)ViewBag.Companies, "--- Select ---")<br />
    </fieldset>
}
@if(ViewBag.companys!=null){
@Label(“值:”)
@Html.DropDownList(“ddlCompany”,(IEnumerable)ViewBag.companys,“---选择---”
}
和My Index.cshtml

   @using (Html.BeginForm("Index", "Requester", FormMethod.Get))
    {
    <p>
        Search By
        @Html.DropDownList("dllSearchCategory", ViewData["selectionlist"] as List<SelectListItem>)
        <div id="partialPlaceHolder"> </div>
        <input type="submit" value="Search" />
    </p>
    }

</p>
<table class="table">
    <tr>
        <th>
            @Html.DisplayNameFor(model => model.IDCode)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.FamilyName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Name)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Gender)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.Company.CompanyName)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.DocumentPath)
        </th>
        <th>
            @Html.DisplayNameFor(model => model.PhotoPath)
        </th>
        <th>
            &nbsp;
        </th>
    </tr>

@foreach (var item in Model) {
    <tr>
        <td>
            @Html.DisplayFor(modelItem => item.IDCode)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.FamilyName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Name)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Gender)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.Company.CompanyName)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.DocumentPath)
        </td>
        <td>
            @Html.DisplayFor(modelItem => item.PhotoPath)
        </td>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id=item.UserID }) |
            @Html.ActionLink("Details", "Details", new { id=item.UserID }) |
            @Html.ActionLink("Delete", "Delete", new { id=item.UserID })
        </td>
    </tr>
}

</table>
<script type="text/javascript">    
    $('#dllSearchCategory').change(function () {       
        var selectedID = $(this).val();       
        $.get('/Requester/LoadPartialGui/' + selectedID, function (data) {       
            $('#partialPlaceHolder').html(data);            
            $('#partialPlaceHolder').fadeIn('fast');
        });       
    });    
</script>
@使用(Html.BeginForm(“Index”、“Requester”、FormMethod.Get))
{

搜寻
@Html.DropDownList(“dllSearchCategory”,ViewData[“selectionlist”]作为列表)

}

@DisplayNameFor(model=>model.IDCode) @Html.DisplayNameFor(model=>model.FamilyName) @DisplayNameFor(model=>model.Name) @DisplayNameFor(model=>model.Gender) @DisplayNameFor(model=>model.Company.CompanyName) @DisplayNameFor(model=>model.DocumentPath) @DisplayNameFor(model=>model.PhotoPath) @foreach(模型中的var项目){ @DisplayFor(modelItem=>item.IDCode) @DisplayFor(modelItem=>item.FamilyName) @DisplayFor(modelItem=>item.Name) @DisplayFor(modeleItem=>item.Gender) @DisplayFor(modelItem=>item.Company.CompanyName) @DisplayFor(modelItem=>item.DocumentPath) @DisplayFor(modelItem=>item.PhotoPath) @ActionLink(“编辑”,“编辑”,新的{id=item.UserID})| @ActionLink(“详细信息”,“详细信息”,新的{id=item.UserID})| @ActionLink(“删除”,“删除”,新的{id=item.UserID}) } $('#dllsearchcontegory').change(函数(){ var selectedID=$(this.val(); $.get('/Requester/LoadPartialGui/'+selectedID,函数(数据){ $('partialPlaceHolder').html(数据); $('partialPlaceHolder').fadeIn('fast'); }); });
当我点击Search按钮时,dropdownlist选择的动态块也被重置。我不知道怎样才能使这件事顺利进行

非常感谢您的帮助

问候,


Veasna不清楚您需要什么。表格数据是基于第一个下拉列表的值还是第二个下拉列表的值,还是两者都基于?当您从第一个下拉列表中选择时,是否应清除表格,然后仅