我使用ASP.Net Mvc4和我有3個表NAMD tblUser,tblCity和tblState.I要註冊國家和本市用戶從下拉菜單中,但在時間選擇註冊我已經在tblUser中保存了特定州和城市的ID。 現在我想顯示國名與城市上的用戶列表頁......請幫助我.. 這裏是我的代碼顯示名稱,同時存儲州市MVC的ID
我的控制器:
public ActionResult Index()
{
ViewBag.state = new SelectList(DbEntity.tblStates, "Id", "State");
return View();
}
public JsonResult Getcities(int id)
{
ViewBag.city = new SelectList(DbEntity.tblCities.Where(m=>m.sid==id),"Id","City");
return Json(ViewBag.city,JsonRequestBehavior.AllowGet);
}
[HttpPost]
public void SaveUser(User user)
{
string statename = Request.Form["State"];
if(user.Id!=0)
{
var t = DbEntity.tblUsers.Where(m => m.Id == user.Id).FirstOrDefault();
t.Id = user.Id;
t.Name = user.Name;
t.State = user.state;
t.City = user.city;
}
else
{
tblUser tblobj = new tblUser();
tblobj.Id = user.Id;
tblobj.Name = user.Name;
tblobj.State = user.state;
tblobj.City = user.city;
DbEntity.tblUsers.Add(tblobj);
}
DbEntity.SaveChanges();
}
public ActionResult DisplayList(User user)
{
List<User> u = new List<User>();
List<tblUser> userlist = new List<tblUser>();
userlist = DbEntity.tblUsers.Where(m => m.Status == true).ToList();
User objU = new User();
foreach (var item in userlist)
{
objU = new User();
objU.Id =(int) item.Id;
objU.Name = item.Name;
objU.state = (int)item.State;
objU.city = (int)item.City;
u.Add(objU);
}
return View(u);
}
}
}
查看Index.cshtml
$('#state').change(function() {
$.getJSON('/Home/Getcities/' + $('#state').val(), function (data) {
var items = '<option>Select a City</option>';
$.each(data, function (i, city) {
items += "<option value='" + city.Value + "'>" + city.Text + "</option>";
});
$('#city').html(items);
})
});
});
@using (Html.BeginForm("SaveUser", "Home", FormMethod.Post))
{
<div>@Html.HiddenFor(m => m.Id)</div>
<div>@Html.LabelFor(m => m.Name)</div>
<div>@Html.TextBoxFor(m => m.Name)</div>
<div>Select state:</div>
<div>
@Html.DropDownList("state", ViewBag.state as SelectList, "Select", new { id = "state" })
</div>
<div>
<select id="city" name="City"></select><br />
</div>
<div>
<input type="submit" value="submit" onclick="location.href='@Url.Action("SaveUser", "Home")'" />
</div>
}
查看:DisplayList.cshtml
<div>
<table>
<tr><td>Name</td><td>State</td><td>City</td></tr>
@foreach (var item in Model)
{
<tr>
<td>@item.Name</td>
<td>@item.state</td>
<td>@item.city</td>
<td>@Html.ActionLink("Edit","EditUser")</td>
</tr>
}
</table>
</div>
你得到一個錯誤?實際發生了什麼? –
@Mike Cheel:不,我沒有得到任何錯誤,我想展示國家和城市的在列表頁面的名字,但我有自己的數據庫... – Namrata