0
問題與MVC問題的下拉列表中MVC
新來的MVC我有MVC中的下拉列表中的問題,你可以幫我與
下面是代碼的下拉列表我使用從數據庫獲取數據
public static List<AppDetailsDTO> GetAllApplications()
{
string[] arrRoles = new string[] { };
List<AppDetailsDTO> lstAppDetails = new List<AppDetailsDTO>();
using (ApplicationSecurityContext objSecurityContext = new ApplicationSecurityContext())
{
var appDetails = objSecurityContext.Applications.Select(app => new AppDetailsDTO() { AppId= app.id, AppName= app.name }).Distinct().ToList();
if (appDetails.Count() > 0)
{
lstAppDetails = appDetails;
}
}
return lstAppDetails;
}
AppDetailsDTO類看起來如下
public class AppDetailsDTO
{
public int AppId { get; set; }
public string AppName { get; set; }
}
視圖模型這是在視圖中使用是如下
public class ClientApplicationViewModel
{
public string selectedAppID;
public SelectList AppSelectionList { get; set; }
}
控制器代碼是如下
[HttpGet]
public ActionResult AssignApplication()
{
List<AppDetailsDTO> lstAvailableApps = new List<AppDetailsDTO>();
lstAvailableApps = SecurityDAL.GetAllApplications();
ClientApplicationViewModel objModel = new ClientApplicationViewModel();
objModel.AppSelectionList = new SelectList(lstAvailableApps, "AppId", "AppName");
return View(objModel);
}
[HttpPost]
public void AssignApplication(ClientApplicationViewModel model)
{
string id = model.selectedAppID.ToString();
}
我使用視圖如下
@model MVCWINDOWSAUTHENTICATION.Models.ClientApplicationViewModel
@{
ViewBag.Title = "AssignApplication";
}
<h2>AssignApplication</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>ClientApplicationViewModel</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
@Html.DropDownListFor(model => model.selectedAppID, Model.AppSelectionList, "Select Application")
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
,我的問題得到下拉列表正在填充,但當我發佈表單時,它獲取發佈,並在控制器後的方法,但在控制器,但selectedAppID和AppSelectionList來了一個s null。
請幫助我,讓我知道我在這做錯了什麼。
感謝您在這方面的幫助。
彼得感謝您指出我犯的錯誤,我將其更改爲財產。我能夠獲得所選App的值,但AppSelectionList仍顯示爲空。你能不能讓我知道爲什麼是 –
請看我的更新。這幾乎是一個單獨的問題,但仍然如此。 –
感謝Peter的更新,並以更好的方式理解事物。 –