return View("CreateEmployee", vm);

本文介绍了一个使用ASP.NET MVC实现的简单员工信息管理系统。该系统包括创建员工视图、处理表单提交以及业务逻辑层的实现。文章展示了如何设置模型验证及视图交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        public ActionResult AddNew()
         {
             CreateEmployeeViewModel vm = new CreateEmployeeViewModel();
             vm.FirstName = "FirstName";
             vm.LastName = "LastName";
             vm.Salary = "0";
             return View("CreateEmployee", vm);
             //return View("CreateEmployee");
         }

        public ActionResult SaveEmployee(Employee e, string BtnSubmit)
        {
            switch (BtnSubmit)
            {
                case "Save Employee":
                     if (ModelState.IsValid)
                     {
                         EmployeeBusinessLayer empBal = new EmployeeBusinessLayer();
                         empBal.SaveEmployee(e);
                         return RedirectToAction("GetEmployeeListView");
                     }
                     else
                     {
                         CreateEmployeeViewModel vm = new CreateEmployeeViewModel();
                         vm.FirstName = e.FirstName;
                         vm.LastName = e.LastName;
                         if (e.Salary!=null)
                         {
                             vm.Salary = e.Salary.ToString();                       
                         }
                         else
                         {
                             vm.Salary = ModelState["Salary"].Value.AttemptedValue;                      
                         }
                         return View("CreateEmployee", vm); // Day 4 Change - Passing e here
                     }

                        case "Cancel":
                            return RedirectToAction("GetEmployeeListView");
                    }
                    return new EmptyResult();
                }


    public class CreateEmployeeViewModel
    {
        public string FirstName { get; set; }
        public string LastName { get; set; }
        public string Salary { get; set; }
    }


    public class Employee
    {
       [Key]
        public int EmployeeId { get; set; }

        [FirstNameValidation]
        public string FirstName { get; set; }
        [StringLength(5,ErrorMessage="Last Name length should not be greater than 5")]
        public string LastName { get; set; }
        [Required(ErrorMessage = "the Salary field is required!")]
        public int Salary { get; set; }
    }

@using MvcAppLesson2.Models
@model CreateEmployeeViewModel

@{
    Layout = null;
}

<!DOCTYPE html>

<html>
    <head>
      <meta name="viewport" content="width=device-width" />
      <title>CreateEmployee</title>
        <script>
            function ResetForm() {
                document.getElementById('TxtFName').value = "";
                document.getElementById('TxtLName').value = "";
                document.getElementById('TxtSalary').value = "";
            }
        </script>

    </head>
    <body>
    <hr />
    SaveEmployee:<br />
      <div>
         <form action="/Employee/SaveEmployee" method="post">     
   <table>
      <tr>
  <td>
     First Name:
  </td>
  <td>
     <input type="text" id="TxtFName" name="FirstName" value="@Model.FirstName" />
  </td>
      </tr>
      <tr>
  <td colspan="2" align="right">
    @Html.ValidationMessage("FirstName")
  </td>
      </tr>
      <tr>
  <td>
    Last Name:
  </td>
  <td>
     <input type="text" id="TxtLName" name="LastName" value="@Model.LastName" />
  </td>
      </tr>
      <tr>
  <td colspan="2" align="right">
     @Html.ValidationMessage("LastName")
  </td>
      </tr>
   
      <tr>
  <td>
    Salary:
  </td>
  <td>
     <input type="text" id="TxtSalary" name="Salary" value="@Model.Salary" />
  </td>
      </tr>
      <tr>
  <td colspan="2" align="right">
    @Html.ValidationMessage("Salary")
  </td>
      </tr>
   
      <tr>
  <td colspan="2">
     <input type="submit" name="BtnSubmit" value="Save Employee" />
     <input type="submit" name="BtnSubmit" value="Cancel" />
     <input type="button" name="BtnReset" value="Reset" onclick="ResetForm();" />
  </td>
      </tr>
   </table>
         </form>
      </div>
      <hr />

    </body>
</html>


Java程序描述 按面向对象的理念,封装如下类型 员工类[Employee],拥有姓名、手机号、基本工资3个属性,并提供获取月薪的方法[getMonthSalary] 设计一个小时工类[HourlyWorker],他的基本工资为0, 拥有 每月工作小时数,每小时费用 2个属性,并重写 父类的 getMonthSalary方法 设计一个销售员工类[SalesWorker],拥有 提成率和月销售额 2个属性,并重写父类的 getMonthSalary方法 设计一个固定工资的员工类[FixWageWorker],无其它属性 要求: 所有类名必需首字母大写 所有属性名最好使用英文单词,不建议使用拼音,如果一定要写拼音,请写好注释 子类重写父类的方法时,在方法上面要打上 @Override 注解 额外要求1: 为了达到面向父类编程的目的,请开发出 EmployeeFactory工厂类,提供创建员工的静态方法以及根据 员工来获取当月工资,并打印输出。申明如下: 额外要求2: 再开发一个调用者类[UseEmployee],以数组的方式存放创建好的员工【要求每种员工对象都要有一 个】,并打印输出当月的工资。 public class EmployeeFactory { //方法一、创建员工对象的工厂方法 public static Employee createEmployee(/**TODO 参数请自己定义 */ ) { //TODO 请自行实现代码 } //方法二、根据员工来输出此员工的当月工资 public static void printMonthSalary(Employee e) { //TODO 请自行实现 } } public class UseEmployee { // public static void main(String[] args) { //TODO 请自行实现调用... }
05-25
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值