Nathan, thank you for the response...
There are four code segments here:
ctrlEditBlogEntry.ascx
ctrlEditBlogEntry.ascx.cs
edit_blog_entry.aspx
edit_blog_entry.aspx.cs
The second page, edit_blog_entry.aspx, calls the ctrlEditBlogEntry.ascx
user control. After it has included this control, it loads some other
user controls I have created. I have this same situation with another
user control, but it is working properly. The only difference is that
the working user control is included last in the aspx page, where
ctrlEditBlogEntry.ascx is loaded first.
ctrlEditBlogEntry.ascx:
<table border="0" width="901px" cellpadding="0" cellspacing="0">
<tr>
<td class="tableHeader">
<asp:Label ID="lblTitle" Text="Edit Blog Entry"
runat="server" />
</td>
</tr>
<tr>
<td class="tableBody">
<asp:TextBox ID="txtTitle" runat="server" Width="901px"
Font-Names="Segoe UI" Font-Size="16px" />
</td>
</tr>
<tr>
<td class="tableBody">
<asp:TextBox ID="txtBody" runat="server" Rows="8"
TextMode="MultiLine" Width="901px" Font-Names="Segoe UI"
Font-Size="16px" />
</td>
</tr>
<tr>
<td align="right">
<table border="0" cellpadding="10" cellspacing="0">
<tr>
<td>
<asp:ImageButton ID="imgSave"
ImageUrl="/blog/images/save.gif" AlternateText="Save changes"
runat="server" OnClick="imgSave_Click" /></td>
</tr>
</table>
</td>
</tr>
</table>
ctrlEditBlogEntry.ascx.cs:
public partial class controls_ctrlEditBlogEntry :
System.Web.UI.UserControl
{
private int giBlogEntryID, giBlogID;
protected void Page_Load(object sender, EventArgs e)
{
}
public string BlogTitle
{
set
{
txtTitle.Text = value;
}
}
public string BlogBody
{
set
{
txtBody.Text = value;
}
}
public int BlogEntryID
{
set
{
giBlogEntryID = value;
}
}
public int BlogID
{
set
{
giBlogID = value;
}
}
protected void imgSave_Click(object sender, ImageClickEventArgs e)
{
SqlConnection loConnection = new
SqlConnection(ConfigurationManager.AppSettings["Data_Connection_String"].ToString());
SqlCommand loCommand = new SqlCommand("UPDATE tbblog_entry SET
blog_entry_title = '" + txtTitle.Text.Trim() + "', blog_entry_body = '"
+ txtBody.Text.Trim() + "' WHERE blog_entry_id = " +
giBlogEntryID.ToString());
loCommand.Connection = loConnection;
loConnection.Open();
loCommand.ExecuteNonQuery();
loConnection.Close();
Response.Redirect("/blog/blogs/view_blog_entries.aspx?entry_id=" +
giBlogEntryID.ToString() + "&blog_id=" + giBlogID.ToString());
}
}
edit_blog_entry.aspx:
<%@ Register TagPrefix="phdr" TagName="ctrlPageHeader"
Src="/blog/controls/ctrlPageHeader.ascx" %>
<%@ Register TagPrefix="pftr" TagName="ctrlPageFooter"
Src="/blog/controls/ctrlPageFooter.ascx" %>
<%@ Register TagPrefix="ebe" TagName="ctrlEditBlogEntry"
Src="/blog/controls/ctrlEditBlogEntry.ascx" %>
<%@ Reference Control="/blog/controls/ctrlEditComment.ascx" %>
<html>
<body>
<form id="form1" runat="server">
<phdr:ctrlPageHeader id="ctrlPageHeader" runat="server" />
<ebe:ctrlEditBlogEntry id="ctrlEBE" runat="server" />
<asp
laceHolder ID="phComments" runat="server" />
<pftr:ctrlPageFooter id="ctrlPageFooter" runat="server" />
</form>
</body>
</html>
edit_blog_entry.aspx.cs:
public partial class blogs_edit_blog_entry : System.Web.UI.Page
{
private int giBlogID, giBlogEntryID;
protected void Page_Load(object sender, EventArgs e)
{
giBlogID =
System.Int32.Parse(Request.QueryString["blog_id"].ToString());
giBlogEntryID =
System.Int32.Parse(Request.QueryString["entry_id"].ToString());
SqlConnection loConnection = new
SqlConnection(ConfigurationManager.AppSettings["Data_Connection_String"].ToString());
SqlCommand loCommand = new SqlCommand("SELECT * FROM
tbblog_entry WHERE blog_entry_id = " + giBlogEntryID);
loCommand.Connection = loConnection;
loConnection.Open();
SqlDataReader loReader = loCommand.ExecuteReader();
loReader.Read();
ctrlEBE.BlogEntryID = giBlogEntryID;
ctrlEBE.BlogID = giBlogID;
ctrlEBE.BlogBody = loReader["blog_entry_body"].ToString();
ctrlEBE.BlogTitle = loReader["blog_entry_title"].ToString();
loReader.Close();
loConnection.Close();
LoadComments();
}
private void LoadComments()
{
SqlConnection loConnection = new
SqlConnection(ConfigurationManager.AppSettings["Data_Connection_String"].ToString());
SqlCommand loCommand = new SqlCommand("SELECT * FROM
vwblog_comment_user WHERE blog_entry_id = " + giBlogEntryID + " AND
blog_comment_deleted = 0 ORDER BY blog_comment_date");
loCommand.Connection = loConnection;
loConnection.Open();
SqlDataReader loReader = loCommand.ExecuteReader();
while (loReader.Read())
{
controls_ctrlEditComment loComment =
LoadControl("/blog/controls/ctrlEditComment.ascx") as
controls_ctrlEditComment;
loComment.CommentBody =
loReader["blog_comment_body"].ToString().Trim();
loComment.CommentTitle =
loReader["blog_comment_title"].ToString().Trim();
loComment.CommentDate =
System.DateTime.Parse(loReader["blog_comment_date"].ToString());
loComment.Author =
loReader["sec_user_username"].ToString().Trim();
loComment.CommentID =
System.Int32.Parse(loReader["blog_comment_id"].ToString());
phComments.Controls.Add(loComment);
}
loReader.Close();
loConnection.Close();
}
}