【发布时间】:2015-02-05 13:38:13
【问题描述】:
有人可以帮帮我吗?
我想将两个文本框的输入值传递给视图的控制器。
<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/personenbeheer.master" Inherits="System.Web.Mvc.ViewPage<IEnumerable<UDL.Domain.Persoon>>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="PersonenbeheerContent" runat="server">
<legend class="form-signin-heading">Personenlijst</legend>
<% Html.BeginForm("Index", "Persoon", FormMethod.Get);%>
<% var currentUser = HttpContext.Current.User; %>
<% if (currentUser.IsInRole("Beheerder"))
{ %>
<nav>
<ul class="nav nav-pills nav-justified" role="tablist">
<li role="presentation" class="alert-info" style="border: 2px solid white; border-radius: 5px;"><%: Html.ActionLink("Maak persoon aan", "Create", null, new { @class="UDLbutton" })%></li>
<li role="presentation" class="alert-info" style="border: 2px solid white; border-radius: 5px;"><%: Html.ActionLink("Lijst Pdf", "PrintPersonen", new { sort = ViewData["sort"], zoeknaam = ViewData["zoekNaam"]}, new { target = "_blank",@class="UDLbutton"}) %></li>
<li role="presentation" class="alert-info" style="border: 2px solid white; border-radius: 5px;">
<button type="button" class="btn btn-primary btn-lg" data-toggle="modal" data-target="#etiketten"> Adres etiketten</button></li>
<li role="presentation" class="alert-info" style="border: 2px solid white; border-radius: 5px;"><%: Html.ActionLink("Export emailadressen","ExportEmails", new { sort = "Adres", zoeknaam = ViewData["zoekNaam"]}, new { target = "_blank",@class="UDLbutton"}) %></li>
</ul>
</nav>
<% } %>
<% Html.BeginForm("Index", "Persoon", FormMethod.Post);
{ %>
<input type="text" id="txtA"/>
<input type="text" id="txtB"/>
<input type="submit" value="Verzenden"/>
<% } %>
如您所见,我对同一方法使用了两次 Html.BeginForm,但一次用于 GET,一次用于 POST。但是 POST 不起作用:(
这是控制器:
//
// GET: /Persoon/
[Authorize(Roles = "Gebruiker, Beheerder")]
public ActionResult Index(string sortOrder, string zoekNaam, int? page, string huidigefilter)
{
//huidige zoekfilter
ViewBag.huidigzoeken = sortOrder;
//ViewBags om waarden door te geven naar de View en ze geven data over het sorteren door
ViewBag.PersoonIDSortParm = String.IsNullOrEmpty(sortOrder) ? "PersoonID_desc" : "";
ViewBag.NaamSortParm = sortOrder == "Naam" ? "Naam_desc" : "Naam";
ViewBag.AanhefSortParm = sortOrder == "Aanhef" ? "Aanhef_desc" : "Aanhef";
ViewBag.GemeenteSortParm = sortOrder == "Gemeente" ? "Gemeente_desc" : "Gemeente";
ViewBag.GeslachtSortParm = sortOrder == "Geslacht" ? "Geslacht_desc" : "Geslacht";
ViewBag.AdresSortParm = sortOrder == "Adres" ? "Adres_desc" : "Adres";
ViewBag.VoornaamSortParm = sortOrder == "Voornaam" ? "Voornaam_desc" : "Voornaam";
ViewBag.TelefoonSortParm = sortOrder == "Telefoon" ? "Telefoon_desc" : "Telefoon";
ViewBag.GSMSortParm = sortOrder == "GSM" ? "GSM_desc" : "GSM";
ViewBag.EmailSortParm = sortOrder == "Email" ? "Email_desc" : "Email";
ViewBag.PartnerSortParm = sortOrder == "Partner" ? "Partner_desc" : "Partner";
ViewBag.OpmerkingenSortParm = sortOrder == "Opmerkingen" ? "Opmerkingen_desc" : "Opmerkingen";
//ViewBag.StatusLidSortParm = sortOrder == "StatusLid" ? "StatusLid_desc" : "StatusLid";
ViewBag.huidigefilter = zoekNaam;
ViewData["sort"] = sortOrder;
ViewData["zoekNaam"] = zoekNaam;
//Enkel de personen tonen die geen lid zijn
var personen = PersoonBLL.SorteerZoeken(sortOrder, zoekNaam, page, huidigefilter);
ViewData["PersonenCount"] = PersoonBLL.SorteerZoekenNotPaged(sortOrder, zoekNaam).ToList().Count;
return View(personen);
}
[HttpPost]
public ActionResult Index(String a, String b)
{
return View("Index");
}
我为 HttpPost 方法使用了一个断点,但它永远不会进入。
【问题讨论】:
标签: c# asp.net-mvc view controller