C# 序列在mvc上不包含任何元素

C# 序列在mvc上不包含任何元素,c#,asp.net-mvc-4,C#,Asp.net Mvc 4,我不知道为什么我得到的序列不包含任何元素,我有点像一个新的mvc 我的控制器 [HttpPost] public ActionResult DeleteAnnounce(string announce) { using (var db = new HarmonyMainServerDbContext()) { ANNOUNCEMENT anno

我不知道为什么我得到的序列不包含任何元素,我有点像一个新的mvc

我的控制器

 [HttpPost]
            public ActionResult DeleteAnnounce(string announce)
            {
                using (var db = new HarmonyMainServerDbContext())
                {
                    ANNOUNCEMENT annoude = db.Announcer.First(c => c.AnnounceTitle == announce);
                    db.Announcer.Remove(annoude);
                    db.SaveChanges();
                }
                return RedirectToAction("ViewAnnounce");
            }
我的观点

<div id="clientDetailsContainer">
    @using (Html.BeginForm("Announcements", "Admin", FormMethod.Post, new { id = "Announcers" }))
    {
        @Html.AntiForgeryToken()
        @Html.ValidationSummary(true)

            <div class="module-controls" style="display:block;">
               <a href="/Admin/ViewAnnounce" class="k-button module-action"><img src="../Images/src/back.png"/><span>Back to List</span></a>
               <a class="k-button module-action" id="submitSave" title="haha"><img src="../Images/src/subgrid_save.png"/><span>Save</span></a>
               <a class="k-button module-action" id="submitDelete" ><img src="../Images/src/subgrid_save.png"/><span>Delete</span></a>
            </div>

        <h2>Announcement</h2>
        @Html.HiddenFor(model => model.AnnounceID)
        <div class="client-details" style="margin-left: 50px">




             <p>
                <label class="label-ant">Announcement Title</label>
                @Html.TextBoxFor(model => model.AnnounceTitle, new {@class="k-textbox", @style="width:250px" })
                @Html.ValidationMessageFor(model => model.AnnounceTitle)
            </p>

            <p>
                <label class="label-ant">Announcement Remarks</label>
                @Html.TextBoxFor(model => model.AnnounceRemarks, new {@class="k-textbox", @style="width:250px" })
                @Html.ValidationMessageFor(model => model.AnnounceRemarks)
            </p>

            <p>
                <label class="label-ant">Announce Link</label>
                @Html.TextBoxFor(model => model.AnnounceLink, new {@class="k-textbox", @style="width:250px" })
                @Html.ValidationMessageFor(model => model.AnnounceLink)
            </p>

        </div>
    }
   <script>
       $("#submitSave").click(function () {
           $("#Announcers").submit();
       });
       $("#submitDelete").click(function () {
           $("#Announcers").attr({
               "action" : "/Admin/DeleteAnnounce",
           });
       });
   </script>

</div>

@使用(Html.BeginForm(“公告”,“管理”,FormMethod.Post,new{id=“Announcers”}))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true)
拯救
删除
公告
@Html.HiddenFor(model=>model.AnnounceID)

公告标题
@Html.TextBoxFor(model=>model.propertiontitle,新的{@class=“k-textbox”,@style=“width:250px”})
@Html.ValidationMessageFor(model=>model.AnnounceTitle)

公告备注 @Html.TextBoxFor(model=>model.comments,新的{@class=“k-textbox”,@style=“width:250px”}) @Html.ValidationMessageFor(model=>model.announce备注)

公布链接 @Html.TextBoxFor(model=>model.AnnounceLink,新的{@class=“k-textbox”,@style=“width:250px”}) @Html.ValidationMessageFor(model=>model.AnnounceLink)

} $(“#提交保存”)。单击(函数(){ $(“#播音员”).submit(); }); $(“#提交数据”)。单击(函数(){ 美元(“#播音员”).attr({ “操作”:“/Admin/DeleteAnnounce”, }); });
这是因为您使用的是First()。如果没有具有匹配标题的播音员,则抛出异常


请参见

这是因为您使用的是First()。如果没有具有匹配标题的播音员,则抛出异常


请参见本系列中的了解差异所需的方法很少

  • First-表示如果没有返回任何内容,它将抛出异常, 但它允许集合拥有比第一个更多的内容
  • Single-表示只获取一个项目,因此如果集合匹配多个项目 一个或多个你会得到异常,这是一种“约束”
  • FirstOrDefault-表示集合可以有多个或无匹配项
  • SingleOrDefault-集合应该只有一个或多个与项匹配的项

  • 在集合中,您需要了解差异的方法很少

  • First-表示如果没有返回任何内容,它将抛出异常, 但它允许集合拥有比第一个更多的内容
  • Single-表示只获取一个项目,因此如果集合匹配多个项目 一个或多个你会得到异常,这是一种“约束”
  • FirstOrDefault-表示集合可以有多个或无匹配项
  • SingleOrDefault-集合应该只有一个或多个与项匹配的项

  • TowerMonitor的底线:如果您的查询必须支持“不匹配”的情况,请使用
    FirstOrDefault
    。TowerMonitor的底线:如果您的查询必须支持“不匹配”的情况,请使用
    FirstOrDefault
    。因为您的参数
    announce
    null
    (您查看时从不为其回发任何值)因为您的参数
    annound
    null
    (您查看时从不为其回发任何值)