几天前我刚开始学习MVC。据我所知,我做了一个小示例程序。但我一直面临一些疑问。我在下面发布我的疑问和代码。请帮助我清楚地理解它。
在这里,我创建了四个视图和控制器以及一个学生类。
学生班
public class Student
{
public string Name { get; set; }
public string Age { get; set; }
public string Place { get; set; }
}
ViewOne
@model MyTestMVCApp.Models.Student
@{
ViewBag.Title = "ViewOne";
}
@using (Html.BeginForm())
{
<table style="border-color:Black;">
<tr>
<td>Name</td><td>Age</td><td>Place</td>
</tr>
<tr>
<td>--</td><td>--</td><td>--</td>
</tr>
</table>
<label>Enter Name : </label>
@Html.TextBoxFor(model => model.Name, new { name = "name"});
<input name="submit" type="submit" id="btnStart" class="button" value="Start Filling Details" />
ViewTwo.cshtml
@model MyTestMVCApp.Models.Student
@{
ViewBag.Title = "ViewTwo";
}
@using (Html.BeginForm())
{
<table style="border-color:Black;">
<tr>
<td>Name</td><td>Age</td><td>Place</td></tr>
<tr>
<td>@Model.Name</td><td>@Model.Age</td><td>@Model.Place</td>
</tr>
</table>
<label>Enter Age : </label>
@Html.TextBoxFor(model => model.Age, new { name = "age" });
<input name="submit" type="submit" id="btnNext" class="button" value="Next" />
}
ViewThree.cshtml
@model MyTestMVCApp.Models.Student
@{
ViewBag.Title = "ViewThree";
}
@using (Html.BeginForm())
{
<table style="border-color:Black;">
<tr><td>Name</td><td>Age</td><td>Place</td></tr>
<tr><td>@Model.Name</td><td>@Model.Age</td><td>@Model.Place</td></tr>
</table>
<label>Enter Age : </label>
@Html.TextBoxFor(model => model.Place, new { name = "place" });
<input name="submit" type="submit" id="btnNext" class="button" value="Next" />
}
ViewFour.cshtml
@model MyTestMVCApp.Models.Student
@{
ViewBag.Title = "ViewFour";
}
@{
<table style="border-color:Black;">
<tr><td>Name</td><td>Age</td><td>Place</td></tr>
<tr><td>@Model.Name</td><td>@Model.Age</td><td>@Model.Place</td></tr>
</table>
}
MyViewController.cs
public class MyViewController : Controller
{
public ActionResult ViewOne()
{
Student student = new Student();
return View(student);
}
[HttpPost]
public ActionResult ViewOne(Student student)
{
return View("ViewTwo", student);
//return RedirectToAction("ViewTwo",student);
}
[HttpPost]
public ActionResult ViewTwo(Student student)
{
return View("ViewThree", student);
//return RedirectToAction("ViewThree", student);
}
[HttpPost]
public ActionResult ViewThree(Student student)
{
return View("ViewFour", student);
}
}
我的疑惑
怀疑 1。在 ViewTwo 中单击按钮,
[HttpPost]
public ActionResult ViewOne(Student student)
{
}
正在调试而不是 ViewTwo 的 [HttpPost] actionresult.. 为什么?
怀疑2。如何将我在 ViewOne 中创建的学生对象的相同实例传递给所有其他 Views ,因为我的需要是
在 ViewOne 上,我获得学生的“姓名”属性,然后将相同的对象传递给 ViewTwo。
在 ViewTwo 上,我获得了学生的“年龄”属性,然后将相同的对象传递给 ViewThree。
在 ViewThree 上,我获得了学生的“地点”属性,然后将相同的对象传递给 ViewFour。
在 ViewFour 上,我显示了通过上述视图获得的学生的所有价值观。