Проблема 1
Я пытаюсь использовать событие Onclick с помощью кнопки поиска, расположенной на главной странице, на дочерней странице.Я нашел хорошее решение на этом сайте, но оно не работает.
Ссылка на него: Как обрабатывать событие кнопки главной страницы на странице содержимого?
Разница с этим решением заключается в том, что мой IpageInterface находится в папке App_Code ив пространстве имен Business.
Кроме того, это почти то же самое.
Итак, у меня есть класс IpageInterface:
namespace Business {
public interface IpageInterface {
void DoSomeAction();
}
}
Затем на главной странице у меня есть:
using Business;
public partial class site : System.Web.UI.MasterPage {
protected void SearchQuery_Click(object sender, EventArgs e) {
IpageInterface pageInterface = Page as IpageInterface;
if (pageInterface != null) {
pageInterface.DoSomeAction();
}
}
}
И, наконец, у меня на странице, которую я хочу использовать (страница результатов, потому что кнопка является кнопкой поиска):
using Business;
public partial class results : System.Web.UI.Page, IpageInterface {
public void DoSomeAction() {
ContentPlaceHolder mainContent = (ContentPlaceHolder)Master.FindControl("mainContent");
if (mainContent != null) {
DropDownList ddlSearchOn = (DropDownList)mainContent.FindControl("ddlSearchOn");
TextBox TxtSearch = (TextBox)mainContent.FindControl("TxtSearch");
if (ddlSearchOn.Text == "Everything" || ddlSearchOn.Text == "Title" || ddlSearchOn.Text == "Text") {
List<News> newsSearchResults = News.SearchNews(ddlSearchOn.Text, TxtSearch.Text);
foreach(News newsArticle in newsSearchResults) {
newsArticle.Text = LimitCharacters(newsArticle.Text, 350);
}
repeaterSearchResults.DataSource = newsSearchResults;
repeaterSearchResults.DataBind();
}
}
}
Но когда я нажимаю кнопкуи я смотрю на значение pageInterface, которое говорит, что оно пустое.
Проблема 2
РЕДАКТИРОВАТЬ: Проблема 2 решена.Я выбрал «Каскад» рядом с правилом удаления в окне отношений внешних ключей.
Помимо этой проблемы у меня есть вторая проблема с MS SQL, которая выглядит следующим образом: у меня есть новостные статьи с комментариями, когда я хочу удалитьв статье я также должен удалить комментарии, поэтому я использую следующий запрос:
SqlCommand cmd = new SqlCommand(@"DELETE FROM News_comments WHERE News_comments.news_Id = @news_Id AND News_comments.account_Id = @account_Id;
DELETE FROM News_news WHERE News_news.news_Id = @news_Id"
, conn);
Проблема, однако, заключается в том, что все еще кажется, что в статье все еще есть комментарии, даже если комментарии удалены,Поэтому я не могу удалить статью.Исключение составляет:
"The DELETE statement conflicted with the REFERENCE constraint" exception.
Буду признателен за необходимую помощь!