c# - 如何将值从一个 View 传递到另一个 View

标签 c# asp.net-mvc asp.net-mvc-4

我对使用 MVC Controller 的 ASP.NET 非常陌生...所以这是我的情况。我正在开发一个在线入学系统,学生可以在其中填写他们所需的记录以进行入学处理。我有不同的类(class),其中包含特定的类(class)有关学生的信息。我的学生类(class)是:

public class Student
{
    public int ID { get; set; }
    [Required]
    public string NAME { get; set; }
    [Required]
    public string FIRSTNAME { get; set; }
    [Required]
    public string LASTNAME { get; set; }
    public virtual ICollection<Enrollment> Enrollments { get; set; }
}

我有另一个名为 Enrollments 的类(class),用户在其中输入所有类(class)以及成绩

public class Enrollment
{
    public int EnrollmentID { get; set; }
    public int CourseID { get; set; }
    public int StudentID { get; set; }
    public Grade Grade { get; set; }
    public virtual Student Student
    {
        get;
        set;
    }
    public virtual Course Course { get; set; }
}
public enum Grade
{
    A,B,C,D,E,F
}
}

还有更多不同的类。我有一个名为注册的 Controller ,我将在其中为每个类创建 View 。

所以在我的第一个 View 中,在保存记录后,它获取了所有学生详细信息。 当用户单击下一步时,我想将学生类(class)的 ID 号传递到下一个 View (即注册 View ),并保存记录以及学生类(class)的 ID 号,该学生类(class)的 ID 号充当注册类(class)中的外键和数据库。

我一直在努力尝试实现这一点,但没有成功。我希望有一个简单的示例来演示如何实现这一点,因为我不太擅长使用 mvc 框架,因为我最近开始使用 ASP.NET。

最佳答案

首先让我们明确这是 MVC,而不是 Web 表单。在 MVC 中,流程是这样的

   View ----> Controller----->Model    then back to controller and so on in usual cases.

现在您可能想要做的是将一个值(此处为 ID )从第一个 View 中的表单传递到另一个 View ,这可能应该像这样完成。

例如说。您存储 ID 的文本框名为“tb1”,然后在 Controller 中写入以下代码

    int id  = (Request.Form["tb1"]).toString();
    //now we'll store this id in a ViewState varibale like so
    ViewData["id"] = id;
    //don't worry about the data type of ViewData["id"], it would adapt automatically 

然后在正确的重定向之后,即从 Controller 返回第二个 View 后,只需在您需要的任何地方访问此 ViewState 变量,如下所示:

   @ViewData["id"]

请注意,这是 Razor 语法,您的 View 需要位于 .cshtml 页面而不是 .aspx 页面中

关于c# - 如何将值从一个 View 传递到另一个 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27517171/

相关文章:

asp.net-mvc-4 - 使用 Fluent Validation 进行条件登录验证

c# - 如何从 JavaScriptSerializer 生成的对象中提取信息

asp.net-mvc - 究竟是什么触发了 Blazor 组件重绘自身?

asp.net-mvc - 基于声明的授权 - 如何管理声明

asp.net-mvc - 使用 asp.net 属性路由的根路径的默认路由

c# - 如何在mvc 4中单击按钮在新选项卡中下载文件

c# - 排序字典时出错

c# - 欧拉计划问题 3 帮助

c# - 自定义 WebViewPage 在渲染 Razor 模板时注入(inject)代码

C# DataGrid 更新所有行