ASP.net网页更新问题(回发?)

时间:2015-07-14 10:24:07

标签: c# asp.net

每个人的问候。

希望你们都很好。我需要你的帮助来解决一个简单的问题(我是C#+ ASP.net的新手)。

我创建了一个ASp.net门户网站。当用户打开该门户(网页)时。网页给他一个他是其成员的团体列表以及他可以添加给他自己的团体列表..

它还包含两个Drop Downs。一个包含组的列表,其用途可以添加到自己。第二个包含用户所属的组列表,他可以从这些组中删除它。

添加和删除代码工作正常。但我必须手动刷新页面以显示更新的信息。单击“添加或删除按钮”页面后,不会使用更新的信息进行刷新。

我尝试使用Response.Redirect("Success.aspx")

重定向到主enter image description here页面

但没有任何效果,

protected void Page_Load(object sender, EventArgs e)
{
    string uN = "domain\\michael.jackson";
    //SystemResources sr = new SystemResources();
    //ActiveUser usr = sr.GetUserDetails(uN).FirstOrDefault();

    LabelUserName.Text = "michael.jackson";

    // Getting the list of groups using of praticular OU the classOrgUnitGroup

    string sdomain = ClassGroupPortalSettings.getDomainName();
    string sInterstOU = "OU=testing,DC=analysys,DC=com";
    classOrgUnitGroup a = new classOrgUnitGroup();
    List<string> allGroups = a.GetGroupFromOu(sdomain, sInterstOU);
    string grouplist = "<ul>";
    foreach (string group in allGroups)
    {
        grouplist = grouplist + "<li><a href='showgroupmembers.aspx?group=" + group + "'>" + group + "</a></li>";

    }

    grouplist = grouplist + "</ul>";
    lblOpenGroups.Text = grouplist;

    //// 4. Finding users group membership.
    string sDomain = ClassGroupPortalSettings.getDomainName();
    classUserGroupMembership myMembership = new classUserGroupMembership();
    List<string> myGroupsMem = myMembership.getMyGroupMembership(sDomain, "domain\\michael.jackson");

    string glList = "<ul>";
    string openlList = "<ul>";
    string otherGroup = "<ul>";
    foreach (string grp in myGroupsMem)
    {
        //BulletedListMyGroups.Items.Add(grp);

        glList = glList + "<li>" + grp + "</li>";
        if (allGroups.Contains(grp))
        {
            DropDownListMyGroups.Items.Add(grp);
            openlList = openlList + "<li>" + grp + "</li>";
        }
        else 
        {
            otherGroup = otherGroup + "<li>" + grp + "</li>";
        }
    }

    glList = glList + "</ul>";
    openlList = openlList + "</ul>";
    otherGroup = otherGroup + "</ul>";
    LabelOtherGrp.Text = otherGroup;
    LabelOpenGrp.Text = openlList;

    // LabelMyGroup.Text = glList;

    foreach (string emailGroup in allGroups)
    {
        if (!myGroupsMem.Contains(emailGroup))
        {
            DropDownListOpenGroups.Items.Add(emailGroup);
        }
    }

}

这是在页面重新加载时运行的代码。

问题是:当我单击“删除”按钮或“添加”按钮时,它会运行代码以添加或删除所选组中的用户。单击按钮后重新加载页面。集团会员标签。和下拉框未使用代码更新:(

2 个答案:

答案 0 :(得分:2)

我假设你的情况是这样的,你有两次下降。一个是充满记录,可以选择项目。选择项目后,用户将提交按钮,然后记录将保存到database / xml中。稍后您将从db / xml中检索项目并在第二次下拉中显示该项目。

现在您的问题是,在点击提交按钮后,第二个下拉列表中没有显示记录,

如果是这样,您有两种选择。

1)您可以在将内容插入db后立即提取记录。 2)您可以在页面加载中提取您的记录,如下所述,

If(Postback) // Or If(PostBack == true)
{
  // Pull your records and display in Drop down.
}

答案 1 :(得分:0)

非常感谢大家和你们每个人的时间,帮助和精力,非常感谢。

问题已解决,我在Postback中添加了另一行代码,用于检查用户的操作。

例如,如果使用从组中删除,

  • 然后获取组的名称并使用操作REMOVE
  • 然后更新DropDown框和当前成员资格框。

我也为添加组做了同样的事情,它为我解决了这个问题。

再次感谢,并告诉你一个美好的一天。

问候和祝福 阿曼