我正在尝试使用位于母版页上的搜索按钮中的Onclick事件。我在这个网站上找到了一个很好的解决方案,但它不起作用。
链接到它: How to handle master page button event in content page?
与该解决方案的不同之处在于,我的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解决了。我在外键关系窗口中的删除规则旁边选择了“级联”。
除了这个问题,我还有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.
非常感谢所需的帮助!
答案 0 :(得分:0)
这不是解决上述代码问题的真正解决方案,但它可以解决我的问题。
我只是通过网址将所需信息提供给子页面。这不是个人或受限制的数据,所以这不是问题。