使用MVC 4在下拉列表中检索数据库表值 [英] Retrive database table values in dropdown list using MVC 4
本文介绍了使用MVC 4在下拉列表中检索数据库表值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我的观看代码
==============
my view code
==============
@{
Layout = null;
}
<h2>Dealer</h2>
<script src="~/Scripts/modernizr-2.5.3.js"></script>
<script src="~/Scripts/jquery-2.1.1.min.js"></script>
VARIANTNAME @Html.DropDownList("var1", "Choose VARIANTNAME")
VEHICLENAME @Html.DropDownList("var2", "Choose VEHICLENAME")
MODELNAME @Html.DropDownList("var3", "Choose MODELNAME")
<script type="text/javascript">
$(function () {
$("#var1").change(function () {
var name = $("#var1 :selected").text(); //if user select the tournament
var url = 'Home/Team';
var data1 = { "name": name };
$.post(url, data1, function (data) { //ajax call
var items = [];
items.push("<option value=" + 0 + ">" + "Choose VEHICLENAME" + "</option>"); //first item
for (var i = 0; i < data.length; i++) {
items.push("<option value=" + data[i].Value + ">" + data[i].Text + "</option>");
} //all data from the team table push into array
$("#var2").html(items.join(' '));
}) //array object bind to dropdown list
});
$("#var2").change(function () { //same logic for 3rd dropdown list
var name = $("#var2 :selected").text();
var url = 'Home/Player';
var data1 = { "name": name };
$.post(url, data1, function (data) {
var items = [];
items.push("<option value=" + 0 + ">" + "Choose Player" + "</option>");
for (var i = 0; i < data.length; i++) {
items.push("<option value=" + data[i].Value + ">" + data[i].Text + "</option>");
}
$("#var3").html(items.join(' '));
})
});
});
</script>
<input type="submit" value="submit" />
控制器代码
======================
Controller code
======================
public class DealerController : Controller
{
//
// GET: /Dealer/
string connection = ConfigurationManager.ConnectionStrings["DBconnectionString"].ConnectionString;
List<SelectListItem> Vehicle = new List<SelectListItem>();
List<SelectListItem> MODELNAME = new List<SelectListItem>();
List<SelectListItem> Variant = new List<SelectListItem>();
public ActionResult Dealer()
{
ViewBag.var1 = GetOptions();
ViewBag.var2 = Vehicle;
ViewBag.var3 = MODELNAME;
return View();
}
private SelectList GetOptions()
{
using (SqlConnection conn = new SqlConnection(connection))
{
try
{
conn.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("SELECT VARIANTID, VARIANTNAME FROM VARIANT", conn);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
Variant.Add(new SelectListItem { Text = myReader["VARIANTNAME"].ToString(), Value = myReader["VARIANTID"].ToString() });
}
}
catch (Exception e)
{
string msg = e.Message;
}
finally
{
conn.Close();
}
return new SelectList(Variant, "Value", "Text", "id");
}
}
public JsonResult Team(string name)
{
using (SqlConnection conn = new SqlConnection(connection))
{
conn.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("select VARIANTID,VEHICLENAME from VARIANT where VARIANTNAME ='" + name + "' ", conn);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
Vehicle.Add(new SelectListItem { Text = myReader["VEHICLENAME"].ToString(), Value = myReader["VARIANTID"].ToString() });
}
}
return Json(Vehicle, JsonRequestBehavior.AllowGet);
}
public JsonResult Player(string name)
{
using (SqlConnection conn = new SqlConnection(connection))
{
conn.Open();
SqlDataReader myReader = null;
SqlCommand myCommand = new SqlCommand("select VARIANTID,MODELNAME from VARIANT where VEHICLENAME ='" + name + "' ", conn);
myReader = myCommand.ExecuteReader();
while (myReader.Read())
{
MODELNAME.Add(new SelectListItem { Text = myReader["MODELNAME"].ToString(), Value = myReader["VARIANTID"].ToString() });
}
}
return Json(MODELNAME, JsonRequestBehavior.AllowGet);
}
我的尝试:
第一个值只有工作,另外两个脚本或不工作..,请帮助任何人
What I have tried:
first value only working and another two script or not work.., pls help anyone
推荐答案
( function (){
( #var1)。change( function (){
var name =
("#var1").change(function () { var name =
( #var1:selected)。text( ); // 如果用户选择锦标赛
var url = ' 主页/团队';
var data1 = { name:name};
("#var1 :selected").text(); //if user select the tournament var url = 'Home/Team'; var data1 = { "name": name };
这篇关于使用MVC 4在下拉列表中检索数据库表值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文