我想創建模型,其它型號MVC如何從下拉列表提交值
請按照我的步驟的名單會越來越ID將解釋的更好,但在此之前,我的目標是讓關係我爲現有的1創建的模型,所以也許我的一切都是錯誤的。
我的步驟是:
第1步:我創建了這個視圖模型
public class SubscriptionViewModel
{
[Display(Name = "Client")]
public int clientId { get; set; }
[Required]
[Display(Name = "Domain")]
public string clientDomain { get; set; }
[Required]
[Display(Name = "Time")]
public int subscriptionTime { get; set; }
[Display(Name = "Document Access Key")]
public string documentAccKey { get; set; }
}
步驟2:在我的控制器中,我把客戶名單放在viewdata中
我的[GET]創建動作
public ActionResult Create()
{
ViewData["clientList"] = DbHandlers.GetClientsList();
return View();
}
步驟3:從可視數據創建的下拉列表
我的觀點:
@model AccessibilityServiceControlPabel.Models.SubscriptionViewModel
@{
ViewBag.Title = "Create";
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>SubscriptionViewModel</h4>
<hr />
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
@Html.LabelFor(model => model.clientId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownList("SelectedEmployee",new SelectList((System.Collections.IEnumerable)ViewData["clientList"], "ClientId", "ClientName"), "--Select--", new { @class = "form-control" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.clientDomain, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.clientDomain, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.clientDomain, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.subscriptionTime, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.subscriptionTime, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.subscriptionTime, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.documentAccKey, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.documentAccKey, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.documentAccKey, "", new { @class = "text-danger" })
</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>
它看起來罰款我看來
現在我的問題:
提交的觀點後,我沒有得到所選擇的值的clientId。
我的[HttpPost]創建行動(還沒有完成)
public ActionResult Create(SubscriptionViewModel subscriptionviewmodel)
{
var subscription = new Subscriptions();
return RedirectToAction("Index");
}
subscriptionviewmodel數據不包含ClientID的數據
這是我在我看來已經插入數據
正如你所看到的,cientId是0,根據我的選擇它應該是1。
有人可以幫我找出我出錯的地方嗎?
難道是我的方式是錯誤的tring獲取clientId和我真正需要的是發送所有客戶端模型。
我在想,我的主要目標是讓他們之間的關係。
在此先感謝
作品,感謝庫馬爾 – Bglen
很高興幫助! –