C# 传递/设置模式弹出窗口的变量
我正在为一个工作项目建立一个注释/评论系统。 目前,单击“新建”或“回复”(两个链接,但我可以很容易地将它们更改为按钮)会显示一个引导模式,用户可以在其中输入他们的评论/回复。 我需要能够设置该评论是新的,还是对其他人的回复,我希望通过设置一个int对应于被回复评论的id(0表示新评论) 看起来我应该能够使用OnClick事件来设置所需的变量,但是当打开模式时,所述事件似乎不会触发 模态:C# 传递/设置模式弹出窗口的变量,c#,asp.net,bootstrap-modal,C#,Asp.net,Bootstrap Modal,我正在为一个工作项目建立一个注释/评论系统。 目前,单击“新建”或“回复”(两个链接,但我可以很容易地将它们更改为按钮)会显示一个引导模式,用户可以在其中输入他们的评论/回复。 我需要能够设置该评论是新的,还是对其他人的回复,我希望通过设置一个int对应于被回复评论的id(0表示新评论) 看起来我应该能够使用OnClick事件来设置所需的变量,但是当打开模式时,所述事件似乎不会触发 模态: <div class="modal" id="myModal" role="dialog">
<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>
和/或
protected void Reply_Click(object sender, EventArgs e)
{
NoteParent = "12"; // Indicates a reply to comment #12
}
我应该指出,模态打开并保存注释很好,它只是不包括NoteParent
变量;它显示为null
我猜无论magic Bootstrap在幕后做什么,都是在我的代码完成它的工作之前消耗事件。如何解决这个问题?您不必进行服务器调用,如果您需要在打开模式之前设置变量,只需删除
数据切换
属性并创建一个JavaScript函数来处理按钮单击,在函数内部,通过设置JavaScript变量或隐藏字段值检查这是否是新注释或回复,然后实际显示模式对话框,如果需要在打开模式之前设置变量,则不必进行服务器调用,只需删除数据切换
属性并创建一个JavaScript函数来处理按钮点击,在函数内部通过设置JavaScript变量或隐藏字段值来检查这是否是新注释或回复,然后实际显示模式对话框,其中定义了NoteParent
?onserverclick应该是onserverclick。您不应该在Post\u Click not new\u Click中处理new/reply吗?@KSibNoteParent
定义在页面类的顶部。实际上没有必要。我可以用设置一个隐藏的文本字段,然后在保存便笺时从中提取。@SQLDBANew\u Click()
(或Reply\u Click()
)打开模式并理想地设置变量(New\u Click()
将其设置为0,Reply\u Click()
将其设置为12或其他任何值。在我的示例中,我假设它是反向设置的)Post_Click()
是将所有内容写入数据库的地方。哪里定义了NoteParent
?onserverclick应该是onserverclick。您不应该在Post\u Click not new\u Click中处理new/reply吗?@KSibNoteParent
定义在页面类的顶部。实际上没有必要。我可以用设置一个隐藏的文本字段,然后在保存便笺时从中提取。@SQLDBANew\u Click()
(或Reply\u Click()
)打开模式并理想地设置变量(New\u Click()
将其设置为0,Reply\u Click()
将其设置为12或其他任何值。在我的示例中,我假设它是反向设置的)Post_Click()
是将所有内容写入数据库的地方;从链接中删除了data toggle
和data target
属性,然后将onClick更改为包含ScriptManager.RegisterStartupScript(this,this.GetType(),“mShow”,“$('#myModal').modal('show');,true)但是,现在奇怪的是,仅仅设置varibale(在类中定义)是不起作用的。使用会话变量或全局类也可以。似乎使用隐藏字段而不是变量也可以。奇怪。不管怎样,谢谢你的帮助。在这和我对JavaScript奇怪的厌恶之间找到了一个混合的解决方案;从链接中删除了data toggle
和data target
属性,然后将onClick更改为包含ScriptManager.RegisterStartupScript(this,this.GetType(),“mShow”,“$('#myModal').modal('show');,true)但是,现在奇怪的是,仅仅设置varibale(在类中定义)是不起作用的。使用会话变量或全局类也可以。似乎使用隐藏字段而不是变量也可以。奇怪。不管怎样,谢谢你的帮助。
<a href="#" data-toggle='modal' data-target='#myModal' runat="server"
<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
}