jquery 如何在ASP.NETMVC中获取按钮单击的前一个状态

nnvyjq4y  于 12个月前  发布在  jQuery
关注(0)|答案(1)|浏览(255)

我有一个视图,其中我想显示文本框和按钮来保存和编辑数据库表,如果在表ID注解为空,我想显示文本框输入注解,如果注解是在表中,然后显示注解,但当用户单击第二个(编辑)按钮,我希望该文本框和按钮应该重新出现在那个地方,我把一个如果条件,以检查如果我的表列是空的,然后显示文本框和按钮,输入数据到该列,我有第二个按钮,以获得文本框和按钮的评论文本。
下面是我的代码:

@if (item.Comments == null)
{
    <div class="form-inline comments">
        <textarea class="form-control commentText" placeholder="Enter Your Comment"></textarea>&nbsp;
        <button type="submit" data-cid="@item.RoomId" class="btn btn-primary save"><i class="fas fa-save h3"></i></button>&nbsp;
        <button type="submit" data-eid="@item.RoomId" class="btn btn-secondary edit"><i class="fas fa-edit h3"></i></button>&nbsp;
    </div>
}
else
{
    <div class="commentText">
        @Html.DisplayFor(modelItem => item.Comments)
    </div>
}

$('.save').click(function () {
        var cmt = $('.commentText').val();
        $.post("@Url.Action("AddComment", "ReceptionHk")", { id: $(this).data("id"), newComment: cmt });
});

$('.edit').click(function () {
    $('.comments').show();
    $('.commentText').hide();
});

字符串
我的控制器方法:

public void AddComment(int id, string newComment)
{
    var roomcmt = db.SingleOrDefault<Room>(id);

    if (ModelState.IsValid)
    {
        roomcmt.Comments = newComment;
        var r = db.Update(roomcmt);
    }
}


如何显示文本框和两个按钮再次当编辑按钮被点击
请帮我一下

kokeuurv

kokeuurv1#

按以下方式更改代码:

A:删除@if (item.Comments == null)行,让view默认显示创建部分。
B:为了创建/编辑注解,您的代码如下所示:

<div class="form-inline comments">
      <textarea class="form-control commentText" placeholder="Enter Your Comment"></textarea>&nbsp;
      <button type="submit" data-cid="@item.RoomId" class="btn btn-primary save"><i class="fas fa-save h3"></i></button>&nbsp;
</div>

字符串

C:然后在列表中添加一个范围验证:

@if(item.Comments!=null)
{
  <display your list here>
}


为了显示comments,而不是静态显示comments,使用一个表,并对表中的注解执行foreach循环,以创建包含2列的行,如CommentEdit。例如:

<table>
     @foreach(var comment in item.Comments)
     {
       <tr>
           <td>@comment.Text</td>
           <td><button data-id="@comment.RoomId">Edit</button></td>
       </tr>
     }
</table>


点击编辑按钮,调用一个JavaScript函数,该函数将调用该注解的检索并填充您的编辑字段,之后您可以使用它进行更新。
您的视图将类似于以下内容:

<div class="form-inline comments">
      <textarea class="form-control commentText" placeholder="Enter Your Comment"></textarea>&nbsp;
      <button type="submit" data-cid="@item.RoomId" class="btn btn-primary save"><i class="fas fa-save h3"></i></button>&nbsp;
</div>

@if(item.Comments!=null)
{
    <table>
     @foreach(var comment in item.Comments)
     {
       <tr>
           <td>@comment.Text</td>
           <td><button data-id="@comment.RoomId">Edit</button></td>
       </tr>
     }
    </table>
}

Rest:实现你的JS函数来检索和创建注解。

相关问题