public override void ItemAdded(SPItemEventProperties properties)
        {
            if (properties.ListItem == null)
                return;
            using (DisableItemEvent disableItemEvent = new DisableItemEvent())
            {
                foreach (SPField field in properties.ListItem.Fields)
                {
                    var item = properties.ListItem;

                    if (field.TypeAsString == "LinkViewItem")
                    {
                        // Edit form full url
                        //string.Format("{0}{1}?ID={2}", item.Web.Url, item.ParentList.Forms[PAGETYPE.PAGE_EDITFORM].ServerRelativeUrl, item.ID);

                        // Edit form relative url
                        //string.Format("{0}?ID={1}", item.ParentList.Forms[PAGETYPE.PAGE_EDITFORM].ServerRelativeUrl, item.ID);

                        // Display form full url
                        //string url = string.Format("{0}{1}?ID={2}", item.Web.Site.RootWeb.Url, item.ParentList.DefaultDisplayFormUrl, item.ID);
                        //should use this instead: PageType=4
                        string url = string.Format("{0}/_layouts/listform.aspx?PageType=4&ListId={1}&ID={2}", item.Web.Url, item.ParentList.ID.ToString(), item.ID);

                        // Display form relative url
                        //string.Format("{0}?ID={1}", item.ParentList.Forms[PAGETYPE.PAGE_DISPLAYFORM].ServerRelativeUrl, item.ID);
                        properties.ListItem[field.Id] = url;
                        properties.ListItem.SystemUpdate();
                    }
                }
                //base.ItemAdded(properties);
            }
        }
Ejemplo n.º 2
0
        void btnUpdate_Click(object sender, EventArgs e)
        {
            using (DisableItemEvent disableItemEvent = new DisableItemEvent())
            {
                var currentItem = SPContext.Current.ListItem;
                if (radPaid.Checked)
                    currentItem["Paid"] = true;
                else
                    currentItem["Paid"] = false;
                currentItem.SystemUpdate();
            }

            Back();
        }