wie kann ich die übertragung von Informationen von einer Ansicht zu einer anderen?
ich auch schon einen Blick in asp .net mvc3-off-Kurs-Anmeldeformular. Dies ist sehr einfaches Formular mit name ,Vater-name , die Qualifikation und die Schaltfläche "senden", nachdem Sie "senden" drücken Taste i Informationen anzeigen möchten, indem Sie mithilfe einer anderen Ansicht. bitte empfehlen Sie mir, wie kann ich das senden von Informationen von einer Ansicht zu einer anderen Ansicht.
meine controller-Klasse :
namespace RegistrationForm.Controllers
{
public class HomeController : Controller
{
public ActionResult Index()
{
//ViewBag.Message = "Welcome to ASP.NET MVC!";
//return View();
return RedirectToAction("registrationView");
}
public ActionResult About()
{
return View();
}
public ActionResult registrationView()
{
return View();
}
}
}
meine Ansicht ist :
@{
Layout = null;
}
registrationView
Geben Sie Einen Namen Ein
</td>
<tr>
<td>
Enter Father Name
</td>
<td>
<input type="text" name="fname" id="fname" />
</td>
<tr>
<td>
Enter Qualification
</td>
<td>
<input type="text" name="qly" id="qly" />
</td>
</tr>
</table>
<input type="submit" value="submit" />
</div>
Du musst angemeldet sein, um einen Kommentar abzugeben.
gut, wir standen vor diesem problem vor, und der beste Weg, um diese Arbeit zu definieren, ein Modell, das auf dieser Seite wird die Arbeit, dann das Modell-Objekt, wenn die Buchung zurück oder umleiten zu einer anderen Ansicht.
für Ihren Fall, Sie können einfach definieren dieses Modell in deinen Models Ordner
ex:
RegistrationModel.cs
- Datei, und definieren Sie die erforderlichen Eigenschaften im inneren.wenn Sie das getan haben, müssen Sie 2 Schritte:
1 - in, um die action-Methode, erstellen Sie eine neue
RegistrationModel
- Objekt, und geben Sie es zu Ihrem ansehen, so dass anstelle von:müssen Sie etwas wie:
2 - Verwenden Sie dieses Modell als parameter in Ihrem
POST
Action-Methode, so etwas wieaber vergessen Sie nicht zum ändern der aktuellen Ansicht zu machen, die Nutzung der zur Verfügung gestellten Modell. ein time-saver Weg wäre die Erstellung einer neuen dummy-Ansicht, und verwenden Sie die vordefinierte Vorlage "Erstellen", um Ihre Ansicht, MVC generieren, die die Eigenschaften, alles angeschlossen. kopieren Sie dann den generierten code in die gewünschte Ansicht, und lassen Sie die nicht benötigten code.
dies ist eine Pseudo-Antwort. wenn Sie mehr code, lassen Sie mich wissen,
code
@{ Html.BeginForm("<ActionName>"); } <!-- Formularfelder --> @{ Html.EndForm(); }code
verwenden ViewData zum speichern der value.
denken Sie nur daran, dass es nur die letzten pro Reise, so, wenn Sie versuchen, rufen Sie wieder, die Wert gewesen wäre, gelöscht.
Und man kann eigentlich usethe ViewData Wert auf die html/aspx/ascx-nach Weiterleitung an die registrationView.
Beispielsweise auf die registrationView.aspx:
Könnte man einfach in Sie Methode Parameterliste deklarieren Sie die Parameter mit den Namen der Steuerelemente. Zum Beispiel:
Die Kontrolle hat hier eine id "qly"
<input type="text" name="qly" id="qly" />
Definieren Sie Ihre Methode, die parameter-Liste wie folgt:
public ActionResult YourMethod(string qly)
, und verwenden Sie es in die gewünschte Ansicht{
//simply pass your qly to another view using ViewData, TempData, or ViewBag
}
Sie sollten mit
TempData
das wurde genau dafür, weiterhin Werte zwischen Aktionen.Diesem Beispiel von der MSDN-Website (link oben):
Und zum senden von Daten an die Ansicht, die Sie verwenden können, das Modell oder die
ViewBag
.