目前我有這樣的:ASP.NET - MVC - 從另一個型號
AddEvent.cshtml
@model Evenementor.Models.EvenementorEvent
@{
ViewBag.Title = "Voeg een evenement toe";
}
@using (Html.BeginForm(new { ReturnUrl = ViewBag.ReturnUrl }))
{
<div class="12u">
@Html.TextBoxFor(m => m.Title, new { @placeholder = "Titel" })
</div>
<div class="12u">
@Html.TextAreaFor(m => m.Description, new { @placeholder = "Omschrijving" })
</div>
<div class="6u">
@Html.TextBoxFor(m => m.Startdate, new { @placeholder = "Startdag" })
</div>
<div class="6u">
@Html.TextBoxFor(m => m.Enddate, new { @placeholder = "Einddag" })
</div>
<div class="12u">
@Html.TextBoxFor(m => m.Location, new { @placeholder = "Locatie" })
</div>
<div class="12u">
<select name="Type">
@foreach (var item in ViewData["Types"] as List<Evenementor.Models.EvenementorType>)
{
<option value="@item.TypeID">@item.Name</option>
}
</select>
</div>
<input type="submit" value="Voeg toe" />
}
DashboardController.cs
// GET: /Dashboard/AddEvent
public ActionResult AddEvent()
{
if (!User.Identity.IsAuthenticated)
{
// User isn't allowed here
Response.Redirect("/");
}
ViewData["Types"] = EvenementorType.GetAllTypes();
return View();
}
// POST: /Dashboard/AddEvent
[HttpPost]
public ActionResult AddEvent(EvenementorEvent ev)
{
if (!User.Identity.IsAuthenticated)
{
// User isn't allowed here
Response.Redirect("/");
}
if (ModelState.IsValid)
{
EvenementorEvent e = new EvenementorEvent();
e.Title = ev.Title;
e.Description = ev.Description;
e.Startdate = ev.Startdate;
e.Enddate = ev.Enddate;
e.Location = ev.Location;
// Register the event
e.Register(e);
// Make a link between event and organisation
EvenementorOrganisationsEvent l = new EvenementorOrganisationsEvent();
l.EventID = e.EventID;
l.OrganisationID = EvenementorOrganisation.GetOrganisationByEmail(User.Identity.Name).OrganisationID;
l.Register(l);
// Link between event and type
EvenementorEventsType ty = new EvenementorEventsType();
ty.EventID = e.EventID;
//GET THE OTHER INFO (Types)
// Redirect
Response.Redirect("/Dashboard/");
}
// Something's wrong!
return View(ev);
}
我如何從下拉菜單的輸入中將數據傳回控制器?或者還有其他更好的解決方案嗎?
在此先感謝,我是一個總ASP.NET新手。仍在自學。
您可能想了解如何使用[AuthoriseAttribute](http://msdn.microsoft.com/en-us/library/system.web.mvc.authorizeattribute(v = vs.118).aspx) – 2014-09-02 23:38:55
我會!謝謝! – user3581249 2014-09-02 23:49:20