我覺得有點愚蠢,但我無法讓我的按鈕在我的用戶控件中觸發。我使用按鈕創建了用戶控件,並且在後面的代碼中添加了事件處理程序。此用戶控件引用已添加到父級,並且父級頁面上有此用戶控件的一個實例。用戶控件按鈕事件沒有觸發
當我點擊按鈕後,它會回傳到上一頁。我添加的斷點不會受到影響。這可能很簡單,我不做。
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"],);
}
}
您是否在UserControl之外有一些導致回傳到上一頁的邏輯?它是否回到上一頁或重定向到它? – Netricity 2013-04-30 09:55:15
我想你最有可能有一些無關的JS錯誤,因爲ASP.NET無法進行回發。 – 2013-04-30 10:06:42
@Intricity您的評論幫我弄明白了。謝謝! – 2013-04-30 11:02:49