我正在为工作中的项目构建注释/评论系统。 目前,单击“新建”或“回复”(两个链接,但我可以轻松地将它们更改为按钮)会显示一个引导模式,用户可以在其中输入注释/回复。 我需要能够设置评论是新的还是对其他人的回复,我想通过设置与被回复的评论的id相对应的int来做(对于新评论为0)。
似乎我应该能够使用OnClick事件来设置我需要的变量,但是打开模态时似乎没有触发所述事件。
模态:
<div class="modal" id="myModal" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">Add a comment</div>
<div class="modal-body">
<label><small>Author: </small><%:this.Author %></label><br />
<label><small>Date: </small>Date</label>
<asp:TextBox ID="text_M_NOTE" runat="server" TextMode="MultiLine" Height="10em" />
</div>
<div class="modal-footer">
<asp:button runat="server" class="NotePopupButton" onclick="Post_Click" Text="Save" />
<asp:button runat="server" class="NotePopupButton" data-dismiss="modal" Text="Cancel" />
</div>
</div>
</div>
</div>
为了触发模态,我尝试使用asp LinkButton;
<asp:LinkButton data-toggle='modal' data-target='#myModal' runat="server" OnClick="New_Click">New comment...</asp:LinkButton>
常规超链接;
<a href="#" data-toggle='modal' data-target='#myModal' runat="server"
使用onserverlick进行超链接而不是onclick ...
<a href="#" data-toggle='modal' data-target='#myModal' runat="server" onserverclick ="New_Click">New comment...</a>
还没有任何效果。背后的代码只是
protected void New_Click(object sender, EventArgs e)
{
NoteParent = "0"; // 0 Indicates a new comment
}
和/或
protected void Reply_Click(object sender, EventArgs e)
{
NoteParent = "12"; // Indicates a reply to comment #12
}
我应该指出模态打开并保存评论就好了,它不会包含NoteParent
变量;它显示为null。
我猜测,无论魔法Bootstrap在幕后做什么,都会在我的代码隐藏之前消耗这个事件。你怎么解决这个问题?
答案 0 :(得分:0)
您不必进行服务器调用,如果您需要在打开模式之前设置变量,只需删除data-toggle
属性并创建一个JavaScript函数来处理按钮单击,在函数内部通过设置JavaScript变量或隐藏字段值来检查这是新评论还是回复,然后以实际方式显示模态对话框