在web按钮上动态启用警报

时间:2016-07-07 17:10:36

标签: c# telerik radgrid

我们有一个名为Contact的标签页。它是链接到"父母"的许多标签页中的一个。页面:Student.aspx。

在“联系人”页面中,有用于显示总体家庭住址信息的字段,然后是显示学生个人联系人的网格。

如果用户更改家庭住址信息中的数据,然后尝试添加新联系人(表单中的网页按钮),则会弹出一个弹出框,询问用户是否要保存地址信息。如果用户进行相同的更改,然后单击网格中包含的“详细信息”按钮,则会打开联系人详细信息屏幕,并且用户将丢失对家庭信息所做的更改。

如果HasUserChanges = true并点击了详细信息按钮,我想要弹出提醒。

目前,我正在检查"父母"的变化。联系页面,然后尝试动态设置网格中包含的控件中的属性。

我从web按钮(WebButtonContactDetails)中删除了OnCommand属性

<ItemTemplate>
    <sis:WebButton ID="WebButtonContactDetail" runat="server" UseCssHover="true" UsePostBack="true"
        AutoTipKey="Detail" IsSmallButton="true" ImageUrl="~/App_Themes/LBL/wbtnDetail_small.gif"
        CommandArgument='<%# Eval("Order").ToString() + Eval("ContactType").ToString() + Eval("Relation.Value").ToString() %>'
        CausesValidation="false" OnClick="WebButtonContactDetail_Click"
        UseAsync="false"   />
</ItemTemplate>

并添加了一个onClick属性WebButtonContactDetails_Click

protected void WebButtonContactDetail_Click(object sender, EventArgs e)
{
    var closelink = (Control) sender;
    GridDataItem row = (GridDataItem)closelink.NamingContainer;
    string firstCellText = row.Cells[0].Text;
    WebButton test = (WebButton)row.FindControl("WebButtonContactDetail");
    if (HasUserChanges)
    {
        ScriptManager.RegisterStartupScript(this.Page, typeof(Page), "Submit", "setTimeout('ShowAlert(\\'" + "You need to save your changes!" + "\\',\\'\\', 0, \\'\\', \\'Student Contacts\\', false)', 500);", true);
    }
    else
    {
        test.Command += new CommandEventHandler(StudentContacts_LinkButtonDetails_Command_H);
    }       
}

警报框看起来并不令人敬畏,但它确实有效。

任何人都有更好/更优雅的方式来做这件事吗?

0 个答案:

没有答案