我有一个视图,其中我想显示文本框和按钮来保存和编辑数据库表,如果在表ID注解为空,我想显示文本框输入注解,如果注解是在表中,然后显示注解,但当用户单击第二个(编辑)按钮,我希望该文本框和按钮应该重新出现在那个地方,我把一个如果条件,以检查如果我的表列是空的,然后显示文本框和按钮,输入数据到该列,我有第二个按钮,以获得文本框和按钮的评论文本。
下面是我的代码:
@if (item.Comments == null)
{
<div class="form-inline comments">
<textarea class="form-control commentText" placeholder="Enter Your Comment"></textarea>
<button type="submit" data-cid="@item.RoomId" class="btn btn-primary save"><i class="fas fa-save h3"></i></button>
<button type="submit" data-eid="@item.RoomId" class="btn btn-secondary edit"><i class="fas fa-edit h3"></i></button>
</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);
}
}
型
如何显示文本框和两个按钮再次当编辑按钮被点击
请帮我一下
1条答案
按热度按时间kokeuurv1#
按以下方式更改代码:
A:删除
@if (item.Comments == null)
行,让view
默认显示创建部分。B:为了创建/编辑注解,您的代码如下所示:
字符串
C:然后在列表中添加一个范围验证:
型
为了显示
comments
,而不是静态显示comments
,使用一个表,并对表中的注解执行foreach
循环,以创建包含2列的行,如Comment
,Edit
。例如:型
点击编辑按钮,调用一个JavaScript函数,该函数将调用该注解的检索并填充您的编辑字段,之后您可以使用它进行更新。
您的视图将类似于以下内容:
型
Rest:实现你的JS函数来检索和创建注解。