我们来制作 题目的新增

后台绑定编辑器

  • 不绑定,通过自己写的编辑器好了,修改的时候样式不对拉。
  • 生成表的表单页面

image.png

  • 表单内容修改 ``` @model LDSTiMu @using XCode.Membership @using NewLife; @using NewLife.Web; @using XCode; @using XCode.Configuration; @using XCode.Membership; @using NewLife.Cube; @{ var entity = Model; var fields = ViewBag.Fields as IList; var isNew = (entity as IEntity).IsNullKey; }
@Html.TextBox(“TestNumbers”, @entity.TestNumbers, new { @class = “form-control”, role = “number” })
@Html.TextBox(“ErrorNumbers”, @entity.ErrorNumbers, new { @class = “form-control”, role = “number” })
@Html.TextBox(“CreateTime”, @entity.CreateTime.ToFullString(“”), new { @class = “form-control date form_datetime” })
@Html.TextBox(“UpdateTime”, @entity.UpdateTime.ToFullString(“”), new { @class = “form-control date form_datetime” })

@await Html.PartialAsync(“_Form_Footer”, entity) @if (this.Has(PermissionFlags.Insert, PermissionFlags.Update)) {

}

  1. - 效果
  2. - ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1174002/1631424157364-f9ff9b18-07f0-4677-b8c8-71b7bee5551e.png#clientId=u6dd31dec-39b1-4&from=paste&height=426&id=u4e6ef4bd&margin=%5Bobject%20Object%5D&name=image.png&originHeight=426&originWidth=1103&originalType=binary&ratio=1&size=23317&status=done&style=none&taskId=u034b9aa1-5f77-45f0-8739-babd9c46849&width=1103)
  3. <a name="r7dIa"></a>
  4. # 显示所有题目
  5. - 新增完题目会弹出去,到最新的10道题,这样表示你新增成功拉。
  6. ![image.png](https://cdn.nlark.com/yuque/0/2021/png/1174002/1631425030980-642d3d01-5e23-4d6c-8ceb-262717470794.png#clientId=u6dd31dec-39b1-4&from=paste&height=261&id=u88588efe&margin=%5Bobject%20Object%5D&name=image.png&originHeight=261&originWidth=853&originalType=binary&ratio=1&size=22309&status=done&style=none&taskId=u8c691c4b-35b5-44a6-871b-3864e922027&width=853)
  7. - 后台

public IActionResult NewTiMuList(PageParameter page) { ///取前二十条记录 var xxx = LDSTiMu.FindAll(null,null,null,0,20); if (xxx!=null) { return View(xxx); }; return View( ); }

<a name="bVubq"></a>
# 新增题目方法

- 先写GET方法 ,要读单元表
- 将学科进行GROUP BY送前台
- 同时对单元表单元和学科送前台
-   后台方法 
- 这里使用了一个DLSXueKeDanYuan.cs,我是放在MODELS下面的。

using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks;

namespace dqltest.Models { public class DLSXueKeDanYuan { public string SubjectName { get; set; }

    public string Unit { get; set; }

}

}


- 后台GET方法

/// [HttpGet] public IActionResult ADDTiMu( ) { ///读出所有的单元表 ///这一页有三个选择 按学科单元进行处理,将这二个字段读出来,然后送到新的MODEL中去到前台 var dal = DAL.Create(“Membership”); string selectstring = “select SubjectName,Unit FROM LDSTiMu group by SubjectName,Unit ;”; var db = dal.Query(selectstring); var course = LDSTiMu.LoadData(db); ///将这个两列copy到新表 var mmm = course.Select(s => { var m = new DLSXueKeDanYuan(); m.Copy(s); return m; }).ToList(); ViewBag.xuekedanyuan = mmm; var mmmmmm= mmm.GroupBy(x => x.SubjectName); ViewBag.SubjectName = mmmmmm; return View( ); }

 前台设置

@model XCode.Membership.LDSTiMu

@{

}

新增历地生题目


@Html.AntiForgeryToken()
        <div class="form-group">
            <label asp-for="SubjectName" class="control-label"></label>
           <input asp-for="SubjectName" style='display:none' value=@ViewBag.subName>
        </div>

        <div class="form-group">
            <label asp-for="Unit" class="control-label"></label>

            <select class="form-control" asp-for="Unit" id="second">

                @if (ViewBag.xuekedanyuan != null)
                {

                    @foreach (var VV in ViewBag.xuekedanyuan as IList<DLSXueKeDanYuan>)
                    {
                        <option>@VV.Unit</option>

                    }
                }

            </select>
        </div>

            <div class="form-group">
                <label asp-for="SubjectType" class="control-label"></label>
                <input asp-for="SubjectType" class="form-control" placeholder="0为选择,1为填空,3为不分析全对!" />
            </div>
            <div class="form-group">
                <label asp-for="SubjectExplain" class="control-label"></label>
                <input asp-for="SubjectExplain" class="form-control" />
            </div>
            <div class="form-group">
                <label asp-for="SubjectText" class="control-label"></label>
                <textarea class="form-control" cols="20" id="SubjectText" name="SubjectText" rows="3"> </textarea>
            </div>
            <div class="form-group">
                <label asp-for="Analysis" class="control-label"></label>
                <textarea class="form-control" cols="20" id="Analysis" name="Analysis" rows="3"> </textarea>
            </div>
            <div class="form-group">
                <label asp-for="OptionA" class="control-label"></label>
                <textarea asp-for="OptionA" class="form-control" style="height:80px;"></textarea>
            </div>
            <div class="form-group">
                <label asp-for="OptionB" class="control-label"></label>
                <textarea asp-for="OptionB" class="form-control" style="height:80px;"></textarea>
            </div>
            <div class="form-group">
                <label asp-for="OptionC" class="control-label"></label>
                <textarea asp-for="OptionC" class="form-control" style="height:80px;"></textarea>
            </div>
            <div class="form-group">
                <label asp-for="OptionD" class="control-label"></label>
                <textarea asp-for="OptionD" class="form-control" style="height:80px;"></textarea>
            </div>
            <div class="form-group">
                <label asp-for="Answers" class="control-label"></label>
                <textarea class="form-control" cols="20" id="Answers" name="Answers" rows="3"> </textarea>
            </div>
            <div class="form-group">
                <label asp-for="Bei1" class="control-label"></label>
                <textarea asp-for="Bei1" class="form-control" style="height:80px;"></textarea>
            </div>
            <div class="form-group">
                <input type="submit" value="Create" class="btn btn-primary" />  <a asp-action="Index">Back to List</a>
            </div>
        </form>
</div>

效果<br />后台代码

[HttpPost] [ValidateAntiForgeryToken] public IActionResult ADDTiMu(LDSTiMu addtimu) { if (ModelState.IsValid) { var enreading1 = new LDSTiMu { SubjectName = addtimu.SubjectName, Unit = addtimu.Unit, SubjectExplain = addtimu.SubjectExplain, SubjectText = addtimu.SubjectText, SubjectType = addtimu.SubjectType, Analysis = addtimu.Analysis, OptionA = addtimu.OptionA, OptionB = addtimu.OptionB, OptionC = addtimu.OptionC, OptionD = addtimu.OptionD, Answers = addtimu.Answers, Bei1 = addtimu.Bei1, TestNumbers = 1, ErrorNumbers = 0 }; enreading1.Insert(); return RedirectToAction(nameof(NewTiMuList)); } return View(); } ``` 然后新增成功会跳转
image.png