基于下拉列表选择的asp.net mvc动态搜索条件
早上好,我是asp.NETMVC的新手。我想开发一个小的应用程序,用户可以搜索使用下拉选择的基础上的标准。这意味着当他们选择一个选项时,将创建并初始化一个动态表单元素 这是应该显示的主屏幕 例如,当用户选择公司时,页面显示如下 以下是我的脚本: 我的控制器基于下拉列表选择的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
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>
</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不清楚您需要什么。表格数据是基于第一个下拉列表的值还是第二个下拉列表的值,还是两者都基于?当您从第一个下拉列表中选择时,是否应清除表格,然后仅