在代码后面找出哪个页面使用用户控件

时间:2012-03-15 23:54:40

标签: c# asp.net user-controls if-statement

在我的应用程序中,我使用了两个页面的usercontrol:AddInfo.aspx和EditInfo.aspx。

问题在于,我希望在保存信息时发生不同的事情,具体取决于用户所在的页面(即他实际在做什么)。

所以我想知道的是,是否有任何方法可以使用if语句找出现在使用用户控件的页面?在那种情况下,我的问题可以解决。

protected void SaveButton_Click(object sender, EventArgs e) {

    if (//The page using the usercontrol = Edit.aspx) {
        // do this...   
    }
    else {
        // do that...   
    }
}

提前致谢

2 个答案:

答案 0 :(得分:3)

protected void SaveButton_Click(object sender, EventArgs e) {

    if (this.Page is EditInfo) {
       // do this...   
    }
    else {
        // do that...   
    }
}

EditInfo是您网页的类。

您还可以在用户控件上定义Behavior属性,并根据您在哪个页面中的内容在Xaml代码中进行设置。这将是一个很好的方法,以避免需要知道你在哪里。

答案 1 :(得分:2)

protected void SaveButton_Click(object sender, EventArgs e) {

    if (Request.Url.AbsoluteUri.Contains("Edit.aspx")) {
       // do this...   
    }
    else {
        // do that...   
    }
}