我觉得有点傻,但我不能让我的按钮在我的用户控制中启动。我用按钮创建了用户控件,并在后面的代码中添加了事件处理程序。此用户控件引用已添加到父页面,并且父页面上有此用户控件的实例。
当我点击按钮时,它会返回到上一页。我添加的断点没有被击中。这可能是我没有做的简单的事情。
ASCX
<h2>Notes</h2>
<div id="divNoteForm">
<h2>Create a new note</h2>
<br />
<table>
<tr>
<td>
<asp:Label ID="lblTitle" runat="server" Text="Title"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtTitle" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Label ID="lblNoteText" runat="server" Text="Note"></asp:Label>
</td>
<td>
<asp:TextBox ID="txtNoteText" runat="server" Width="300" Rows="2"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<asp:Button ID="btnSubmit" runat="server" Text="Submit note" OnClick="btnSubmit_Click"/>
</td>
</tr>
</table>
</div>
<div id="divNoteGrid">
<h2>Note Grid</h2>
<br />
<table>
<tr>
<td>Date</td>
<td>Title</td>
<td>Description</td>
</tr>
<tr>
<td>22/04/2013</td>
<td>BSB</td>
<td>Phoned Amy Rowcliffe on 22/04/2013</td>
<td><u>Edit</u></td>
<td><u>Delete</u></td>
</tr>
</table>
</div>
<input type="radio" id="rdoForm" name="rdoNotes" style="width:10px" onchange="rdoChange(this)" value="Form" checked="checked">Show new note
<input type="radio" id="rdoGrid" name="rdoNotes" style="width:10px" onchange="rdoChange(this)" value="Grid">Show existing notes
</div>
<div id="NotesBtnForm" style="width: 500px; height: 40px; position: fixed; top: 0px; left:37%; border-style:solid; border-width:thin; z-index:10000; opacity:1.0; background-color:white" >
<asp:Button runat="server" ID="btnNotes" Text="Notes: 5" OnClientClick="showNotes();return false;" />
</div>
不会触发的按钮是btnSubmit。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Model.Company;
using Business;
public partial class WebControls_DataWebControls_NotesControl : System.Web.UI.UserControl
{
CompanyNotesFactory companyNotesFormatter = new CompanyNotesFactory();
List<CompanyNotesModel> results = new List<CompanyNotesModel>();
protected void Page_Load(object sender, EventArgs e)
{
}
public int NumToDisplay { get; set; }
public string Notes { get; set; }
protected string AdditionalInfo { get; private set; }
//public override void DataBind()
//{
// // Process the data we have been passed
// ProcessNotes(Notes);
// base.DataBind();
//}
public int NumNotes
{
get
{
return results.Count;
}
}
//private void ProcessNotes(string Notes)
//{
// if (string.IsNullOrEmpty(Notes))
// {
// AdditionalInfo = "No Additional Information Available";
// return;
// }
// results = companyNotesFormatter.GetCompanyNotes(Notes);
// if (NumToDisplay == 0)
// rptNotes.DataSource = results;
// else
// rptNotes.DataSource = results.Take(NumToDisplay);
// AdditionalInfo = companyNotesFormatter.NotesLeadingText;
// rptNotes.DataBind();
//} public void Add(string notesTitle, string notesText, Guid userID, int relatedID, string relatedType)
//public event EventHandler btnSubmit_Click;
protected void btnSubmit_Click(object sender, EventArgs e)
{
string test = Request["userid"];
//Business.Core.Note.Add(txtTitle.Text, txtNoteText.Text, Request["userid"], );
}
}
尝试用圆括号"()"调用函数。
我猜对了,答案可能是显而易见的。
按钮的默认回发行为是发送到另一个URL。我正在开发的应用程序必须在某个地方有一些配置,因为我以前使用过asp.net按钮,我没有手动设置URL。
谢谢你的帮助