asp.net-mvc – 在mvc下拉列表中自动恢复
发布时间:2020-05-24 15:53:04 所属栏目:asp.Net 来源:互联网
导读:要求:我的视图页面上有一个下拉列表,显示了供应商列表.从下拉列表中选择供应商后,该页面将显示所选供应商的详细信息.默认情况下,我需要选择第一个供应商并显示其详细信息.我可以通过使用以下代码来完成此任务. 问题:不知道如何在MVC中完成autopostback = tr
|
要求:我的视图页面上有一个下拉列表,显示了供应商列表.从下拉列表中选择供应商后,该页面将显示所选供应商的详细信息.默认情况下,我需要选择第一个供应商并显示其详细信息.我可以通过使用以下代码来完成此任务. 问题:不知道如何在MVC中完成autopostback = true.我需要在下拉列表中显示所选供应商的详细信息. 我正在使用ASP.net 4.0,MVC3,Entity Framework 4.0.这是我的代码: [AcceptVerbs("POST")]
public ActionResult SearchResult(FormCollection collection)
{
try
{
string vendorName = collection["searchItem"].ToString();
vendorName = vendorName.Trim();
List<Vendor> vendorList = Queries.compiledVendorQuery(dbContext,vendorName).ToList<Vendor>();
if(vendorList.Count() == 0)
return View("EmptySearch");
List<SelectListItem> vendorSelectList = new List<SelectListItem>();
foreach (Vendor vendor in vendorList)
{
vendorSelectList.Add(new SelectListItem
{
Text = vendor.vendorName.ToString(),Value = vendor.vendorId.ToString()
});
}
Vendor selectedVendor = vendorList[0];
VendorDetails vendorDeatils = Queries.compiledVendorDetailsQuery(dbContext,selectedVendor.vendorId.ToString()).FirstOrDefault();
VendorResult vendorResult = new VendorResult();
vendorResult.vendorSelectList = vendorSelectList;
vendorResult.vendorDetails = vendorDeatils;
return View(vendorResult);
}
catch (Exception e)
{
return View("EmptySearch");
}
}
public class VendorResult
{
public List<SelectListItem> vendorSelectList { get; set; }
public VendorDetails vendorDetails {get; set;}
}
public class VendorDetails
{
public string vendorId { get; set; }
public string vendorName { get; set; }
public string address1 { get; set; }
public string address2 { get; set; }
public string address3 { get; set; }
public string city { get; set; }
public string state { get; set; }
public string zip { get; set; }
public decimal noteIndex { get; set; }
public string comment1 { get; set; }
public string comment2 { get; set; }
public string phone { get; set; }
public string interPhone { get; set; }
public string fax { get; set; }
public string interFax { get; set; }
}
编辑:定义我的下拉列表的代码. @model KeleTools.Models.VendorResult
@{
ViewBag.Title = "Vendor LookUp Tool";
Layout = "~/Views/Shared/_ResultLayout.cshtml";
}
<h2>Vendor Details</h2>
<p> Select a vendor to display details:</p>
@Html.DropDownList("VendorList",@Model.vendorSelectList,null,new {target="_self"})
@using (Html.BeginForm("SearchResult","VendorLookUp"))
{
<div class="margin-10-top" >
<table id= "OrderDetail" class="OrderDetail">
<tr class="OrderDetail">
<td class="PropertyName">Vendor Id:</td>
<td class="PropertyValue">@Model.vendorDetails.vendorId.ToString().Trim()</td>
</tr>
<tr class="OrderDetail">
<td class="PropertyName">Vendor Name:</td>
<td class="PropertyValue">@Model.vendorDetails.vendorName.ToString().Trim()</td>
</tr>
@{
string address = @Model.vendorDetails.address1.ToString().Trim();
address = address + "n";
address = address + @Model.vendorDetails.address2.ToString().Trim();
address = address + "n";
address = address + @Model.vendorDetails.address3.ToString().Trim();
<tr class="OrderDetail">
<td class="PropertyName">Address</td>
<td class="PropertyValue">@address.TrimEnd()</td>
</tr>
}
@{
string city = @Model.vendorDetails.city.ToString().TrimEnd();
city = city + ",";
city = city + @Model.vendorDetails.state.ToString().Trim();
city = city + " ";
city = city + @Model.vendorDetails.zip.ToString().Trim();
<tr class="OrderDetail">
<td class="PropertyName"> </td>
<td class="PropertyValue">@city</td>
</tr>
string phoneNumber = null;
if (!string.IsNullOrEmpty(@Model.vendorDetails.phone.ToString().Trim()))
{
phoneNumber = @Model.vendorDetails.phone.ToString().TrimEnd().Substring(0,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.phone.ToString().TrimEnd().Substring(3,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.phone.ToString().TrimEnd().Substring(6,4);
if (@Model.vendorDetails.phone.ToString().Trim().Length > 10)
{
phoneNumber = phoneNumber + " Ext: ";
phoneNumber = phoneNumber + @Model.vendorDetails.phone.ToString().TrimEnd().Substring(10);
}
}
<tr class="OrderDetail">
<td class="PropertyName">Phone Number:</td>
<td class="PropertyValue">@phoneNumber</td>
</tr>
phoneNumber = null;
if (!string.IsNullOrEmpty(@Model.vendorDetails.fax.ToString().Trim()))
{
phoneNumber = @Model.vendorDetails.fax.ToString().TrimEnd().Substring(0,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.fax.ToString().TrimEnd().Substring(3,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.fax.ToString().TrimEnd().Substring(6,4);
if (@Model.vendorDetails.fax.ToString().Trim().Length > 10)
{
phoneNumber = phoneNumber + " Ext: ";
phoneNumber = phoneNumber + @Model.vendorDetails.fax.ToString().TrimEnd().Substring(10);
}
}
<tr class="OrderDetail">
<td class="PropertyName">Fax:</td>
<td class="PropertyValue">@phoneNumber</td>
</tr>
phoneNumber = null;
if (!string.IsNullOrEmpty(@Model.vendorDetails.interPhone.ToString().Trim()))
{
phoneNumber = @Model.vendorDetails.interPhone.ToString().TrimEnd().Substring(0,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.interPhone.ToString().TrimEnd().Substring(3,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.interPhone.ToString().TrimEnd().Substring(6,4);
if (@Model.vendorDetails.interPhone.ToString().Trim().Length > 10)
{
phoneNumber = phoneNumber + " Ext: ";
phoneNumber = phoneNumber + @Model.vendorDetails.interPhone.ToString().TrimEnd().Substring(10);
}
}
<tr class="OrderDetail">
<td class="PropertyName">International Phone:</td>
<td class="PropertyValue">@phoneNumber</td>
</tr>
phoneNumber = null;
if (!string.IsNullOrEmpty(@Model.vendorDetails.interFax.ToString().Trim()))
{
phoneNumber = @Model.vendorDetails.interFax.ToString().TrimEnd().Substring(0,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.interFax.ToString().TrimEnd().Substring(3,3);
phoneNumber = phoneNumber + "-";
phoneNumber = phoneNumber + @Model.vendorDetails.interFax.ToString().TrimEnd().Substring(6,4);
if (@Model.vendorDetails.interFax.ToString().Trim().Length > 10)
{
phoneNumber = phoneNumber + " Ext: ";
phoneNumber = phoneNumber + @Model.vendorDetails.interFax.ToString().TrimEnd().Substring(10);
}
}
<tr class="OrderDetail">
<td class="PropertyName">International Fax:</td>
<td class="PropertyValue">@phoneNumber</td>
</tr>
}
<tr class="OrderDetail">
<td class="PropertyName">Comment 1:</td>
<td class="PropertyValue">@Model.vendorDetails.comment1.ToString().TrimEnd() < /td>
< /tr>
<tr class="OrderDetail">
<td class="PropertyName">Comment 2:</td>
<td class="PropertyValue">@Model.vendorDetails.comment2.ToString().Trim()</td>
< /tr>
< /table>
< /div>
}
解决方法MVC中没有AutoPostback = true.你必须自己连线.你可以使用jQuery做这样的事情:$("#idOfMyDropDownList").change(function () {
// Handle the change event,such as fire off an ajax request.
}); (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – recaptcha https问题https://api-secure.recapt
- asp.net-mvc – 菜单上没有添加控制器,无法在MVC 4.5中添加
- asp.net – 如何显示UTC时间作为本地时间在网页?
- asp.net-mvc-3 – 如何在带有剃刀的asp.net mvc3中使用Kend
- asp.net – 如何禁用谷歌chrome的建议列表使用twitter boot
- 如何使用asp.net和c#流式传输Excel 2007或Word 2007文件
- ASP.NET MVC的MS应用程序示例?
- asp.net – 我们可以用IIS运行Selenium WebDriver测试用例,
- ASP.NET HttpApplication.EndRequest事件未被触发
- asp.net-mvc – ASP.NET mvc 4控制器参数始终为空时发送jso
推荐文章
站长推荐
- asp.net-mvc – Kendo Grid Edit InLine Custom
- asp.net-mvc – 使用REST API进行身份验证
- Asp.Net MVC3到MVC4升级工具?
- asp.net-mvc – 我如何编写一个ActionFilter来确
- asp.net – Crystal Reports“加载报告失败”错误
- asp.net-mvc – 为什么在MVC中传递实体不是一个好
- asp.net – 为什么在FireFox中禁用时链接按钮不会
- asp.net-mvc – MVC Preview 5 – 将视图呈现为字
- 为什么每个人都在ASP.NET Webforms中依赖注入是困
- asp.net-mvc-4 – Kendo UI组合框复位值
热点阅读
