首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >显示TimeLine右侧的数据

显示TimeLine右侧的数据
EN

Stack Overflow用户
提问于 2018-07-02 10:08:36
回答 1查看 98关注 0票数 2

如何显示时间线左侧或右侧的描述数据( Candidate.Saving结果)?如果它是Candidate.Saving == true,它应该在左边,如果是Candidate.Saving==false,它应该在时间线的右侧。我将在这里提出我的候选模型和我的观点。

代码语言:javascript
复制
public class Candidate : BaseEntity
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Number { get; set; }
    public string ProfileText { get; set; }
    public Byte[] CV { get; set; }
    public string CVNAME { get; set; }
    public List<Profile> ProfileList { get; set; }
    public String Description { get; set; }
    public Boolean Saving { get; set; }
    public string Title { get; set; }
    public DateTime DateOfDescription { get; set; }
}

以下是我的看法:

代码语言:javascript
复制
@model HCCBPOHR.Data.Candidate

@{
 ViewData["Title"] = "CandidateHistory";
}

<h2>Canidate - @Model.Name</h2>

<label>History</label>
<hr />

<div class="panel panel-default">
<div class="panel-heading">
   <i class="fa fa-clock-o fa-fw"></i> History Of @Model.Name
</div>

@foreach (var Description in Model.Description)
{
    @if (Model.Saving == true)
    {
        <ul>
            <li class="timeline">
                <div class="timeline-badge">
                    <i class="fa fa-check"></i>
                </div>
                <div class="timeline-panel">
                    <div class="timeline-heading">
                        <h4 class="timeline-title">Title</h4>
                        <p>
                            <small class="text-muted"><i class="fa fa-clock-o"></i> @Model.DateOfDescription.ToShortDateString()</small>
                        </p>
                    </div>
                    <div class="timeline-body">
                        <p>@Model.Description</p>
                    </div>
                </div>
            </li>
        </ul>

    }
    @if (Model.Saving == false)
    {

            <ul>
                <li class="timeline-inverted">
                    <div class="timeline-badge">
                        <i class="fa fa-check"></i>
                    </div>
                    <div class="timeline-panel">
                        <div class="timeline-heading">
                            <h4 class="timeline-title">Title</h4>
                            <p>
                                <small class="text-muted"><i class="fa fa-clock-o"></i> @Model.DateOfDescription.ToShortDateString()</small>
                            </p>
                        </div>
                        <div class="timeline-body">
                            <p>@Model.Description</p>
                        </div>
                    </div>
                </li>
            </ul>

            }

            }
</div>

            @*<div class="panel-body">
                        <ul class="timeline">
                            <li>
                                  <li class="timeline-inverted">
                                Isto é para inverter o lado
                                <div class="timeline-badge">
                                    <i class="fa fa-check"></i>
                                </div>
                                <div class="timeline-panel">
                                    <div class="timeline-heading">
                                        <h4 class="timeline-title">Title</h4>
                                        <p>
                                            <small class="text-muted"><i class="fa fa-clock-o"></i> @Model.DateOfDescription.ToShortDateString()</small>
                                        </p>
                                    </div>
                                    <div class="timeline-body">
                                        <p>@Model.Description</p>
                                    </div>
                                </div>
                            </li>
                        </ul>
                    </div>
                </div>*@



            <button type="button" class="btn btn-primary" data-toggle="modal" data-target="#exampleModal" data-whatever="@Model.Saving"> Add History Description</button>
            <div class="modal fade" id="exampleModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
                <div class="modal-dialog" role="document">
                    <div class="modal-content">
                        <div class="modal-body">
                            <form asp-action="CandidateHistory">
                                <div asp-validation-summary="ModelOnly" class="text-danger"></div>
                                <div class="form-group">
                                    <label asp-for="Title" class="control-label"></label>
                                    <input asp-for="Title" class="form-control" />
                                    <span asp-validation-for="Title" class="text-danger"></span>
                                </div>
                                <div class="form-group">
                                    <label asp-for="Description" class="control-label"></label>
                                    <input asp-for="Description" class="form-control" />
                                    <span asp-validation-for="Description" class="text-danger"></span>
                                </div>
                                <div class="form-group">
                                    <label>Selects</label>
                                    <select asp-for="Saving" class="form-control">
                                        <option value="false">Candidate </option>
                                        <option value="true">Hitachi</option>s
                                    </select>
                                </div>
                                <div class="form-group">
                                    <label asp-for="DateOfDescription" class="form-group"></label>
                                    <input asp-for="DateOfDescription" class="form-group" />
                                </div>
                                <div class="form-group">
                                    <input type="submit" value="Create" class="btn btn-default" />
                                </div>
                            </form>
                        </div>
                        <div class="modal-footer">
                            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>

                        </div>
                    </div>
                </div>
            </div>

我试图做的事情:,我尝试做了一个foreach方法,在这个方法中,它依赖于Candidate.Saving,但是结果是:

我已经修好它了。我就是这样做的:

代码语言:javascript
复制
    <div class="panel panel-default">
    <div class="panel-heading">
    <i class="fa fa-clock-o fa-fw"></i> History Of @Model.Name
    </div>
    <div class="panel-body">
    @if (Model.Saving == true)
    {
    <ul class="timeline">
        <li class="timeline">
            <div class="timeline-badge">
                <i class="fa fa-check"></i>
            </div>
            <div class="timeline-panel">
                <div class="timeline-heading">
                    <h4 class="timeline-title">Title</h4>
                    <p>
                        <small class="text-muted"><i class="fa fa-clock-o"></i> 
  @Model.DateOfDescription.ToShortDateString()</small>
                    </p>
                </div>
                <div class="timeline-body">
                    <p>@Model.Description</p>
                </div>
            </div>
        </li>
    </ul>
 }
    @if (Model.Saving == false)
{
    <ul class="timeline">
        <li class="timeline-inverted">
            <div class="timeline-badge">
                <i class="fa fa-check"></i>
            </div>
            <div class="timeline-panel">
                <div class="timeline-heading">
                    <h4 class="timeline-title">Title</h4>
                    <p>
                        <small class="text-muted"><i class="fa fa-clock-o"></i> @Model.DateOfDescription.ToShortDateString()</small>
                    </p>
                </div>
                <div class="timeline-body">
                    <p>@Model.Description</p>
                </div>
            </div>
        </li>
       </ul>
}
    </div>
</div>

我现在只有疑问,能够为候选人添加多个描述,我应该在视图中创建一个列表,然后执行一个foreach方法,对吗?

现在我的控制器看起来是这样的:

代码语言:javascript
复制
public IActionResult CandidateHistory(int Id)
    {

        using (var applicationcontext = new ApplicationContext())
        {
            var candidate = applicationcontext.Candidates.Where(s => s.Id.Equals(Id)).SingleOrDefault();
            if (candidate == null)
            {
                return NotFound();
            }

            Candidate candidates = new Candidate();
            candidates.DescriptionList.Add(candidate);
            candidates.DescriptionList.Add(new Candidate { Description = candidate.Description });
            candidates.DescriptionList.Add(new Candidate { Title = candidate.Title });
            candidates.DescriptionList.Add(new Candidate { DateOfDescription = candidate.DateOfDescription });
            candidates.DescriptionList.Add(new Candidate { Saving = candidate.Saving });
            applicationcontext.Candidates.Add(candidates);
            return View();
        }
    }
    [HttpPost, ActionName("CandidateHistory")]
    [ValidateAntiForgeryToken]
    public async Task<IActionResult> CandidateHistoryPost(int? id, Candidate candidatelist)
    {
        if (id == null)
        {
            return NotFound();
        }
        using (var context = new ApplicationContext())
        {
            var candidateUpdate = await context.Candidates.SingleOrDefaultAsync(s => s.Id == id);
            if (await TryUpdateModelAsync<Candidate>(candidateUpdate, "", s => s.Description, s => s.Title, s => s.DateOfDescription, s => s.Saving))
            {
                try
                {
                    await context.SaveChangesAsync();
                    return RedirectToAction(nameof(CandidateHistory));
                }
                catch (DbUpdateException /* ex */)
                {
                    //Log the error (uncomment ex variable name and write a log.)
                    ModelState.AddModelError("", "Unable to save changes. " +
                        "Try again, and if the problem persists, " +
                        "see your system administrator.");
                }
            }
            return View(candidateUpdate);
        }
    }

我正在尝试将一个Candidate.DescriptionList输出到CandidateHistory视图,这样我就可以将所有的描述、描述标题、日期和“保存”保存到列表中,这样我就可以执行一个foreach方法来输出该用户的所有描述。但是现在我有了一个错误:

System.NullReferenceException:“对象引用没有设置为对象的实例。 HCCBPOHR.Data.Candidate.DescriptionList.get返回了空。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-02 10:28:35

我已经修好了。我就是这样做的:

代码语言:javascript
复制
    <div class="panel panel-default">
    <div class="panel-heading">
    <i class="fa fa-clock-o fa-fw"></i> History Of @Model.Name
    </div>
    <div class="panel-body">
    @if (Model.Saving == true)
    {
    <ul class="timeline">
        <li class="timeline">
            <div class="timeline-badge">
                <i class="fa fa-check"></i>
            </div>
            <div class="timeline-panel">
                <div class="timeline-heading">
                    <h4 class="timeline-title">Title</h4>
                    <p>
                        <small class="text-muted"><i class="fa fa-clock-o"></i> 
  @Model.DateOfDescription.ToShortDateString()</small>
                    </p>
                </div>
                <div class="timeline-body">
                    <p>@Model.Description</p>
                </div>
            </div>
        </li>
    </ul>
 }
    @if (Model.Saving == false)
{
    <ul class="timeline">
        <li class="timeline-inverted">
            <div class="timeline-badge">
                <i class="fa fa-check"></i>
            </div>
            <div class="timeline-panel">
                <div class="timeline-heading">
                    <h4 class="timeline-title">Title</h4>
                    <p>
                        <small class="text-muted"><i class="fa fa-clock-o"></i> @Model.DateOfDescription.ToShortDateString()</small>
                    </p>
                </div>
                <div class="timeline-body">
                    <p>@Model.Description</p>
                </div>
            </div>
        </li>
       </ul>
}
    </div>
</div>

我现在只有疑问,能够为候选人添加多个描述,我应该在视图中创建一个列表,然后执行一个foreach方法,对吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51133711

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档