如何从NewForm.aspx重定向到EditForm.aspx [英] How to Redirect from NewForm.aspx to EditForm.aspx

查看:68
本文介绍了如何从NewForm.aspx重定向到EditForm.aspx的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想从NewForm.aspx重定向到EditForm.aspx,我该如何实现.

i want to redirect from NewForm.aspx to EditForm.aspx , how can i achieve this.

我正在使用下面的脚本,它工作正常,但是有一些问题,例如

I am using below script , it is working fine but there are some issues like

1)如果有多个用户创建列表项

1) if multiple users creating a list item 

2)如果我们删除列表项

2) if we delete list item 

我正在检查是否还有其他重定向选项

i was checking if there is another option for redirecting

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script><script 

type="text/javascript">
$(document).ready(function(){


                  GetID();


                  });



     function GetID(){

                 
                 var listName="testlist";
	
			var requestUri = "http://mysitename" +
                      "/_api/Web/Lists/getByTitle('"+listName+"')/items?$top=1&$select=ID&$orderby=ID desc";

			// execute AJAX request
			$.ajax({
				url: requestUri,
				type: "GET",
				headers: { "ACCEPT": "application/json;odata=verbose" },
				success: function (data) {
					if(data.d.results.length>0){
						var field=data.d.results[0];
                                                var plusval = 1;
                                                var thisurl = "http://mysitename/Lists/testlist/NewForm.aspx?Source=http://mysitename/.....EditForm.aspx?ID=";
                                                var idfield = field.ID;
                                                idfield +=plusval;
                                                window.location.href= thisurl+idfield+"#";
                                                //alert(idfield);
                                        


					}
				},
				
		error: function () {
					//alert("Failed to get details");
				}
			});
		
                }


</script>

       
              

谢谢.

sal

推荐答案

另一种选择是在创建新项目后,使用ItemAdding事件接收器将用户重定向到具有项目ID的项目编辑表单:

Another option is to use ItemAdding Event Receiver to redirect user to the item edit form with item id after creating the new item:

SPSite site = new SPSite(properties.SiteId))          
{
using (SPWeb web = site.OpenWeb(properties.RelativeWebUrl))
 {
SPList list = web.Lists[properties.ListId];
DisableEventFiring();
SPListItem itemToAdd = properties.ListItem;
foreach (SPField field in itemToAdd.Fields)
{
if (!field.Hidden && !field.ReadOnlyField && field != null && field.InternalName != "Attachments")
{
if (properties.AfterProperties[field.InternalName] != "")
{
 itemToAdd[field.InternalName] = properties.AfterProperties[field.InternalName].ToString();                
           }
}
}
 itemToAdd.Update();
 EnableEventFiring();

// Redirect
SPUtility.Redirect("EditForm.aspx?ID=" + itemToAdd.ID, SPRedirectFlags.DoNotEndResponse, httpCurrentCtx);

 }

更多信息:

从NewForm.aspx重定向到DispForm.aspx或EditForm.新创建项目的aspx

谢谢

最好的问候


这篇关于如何从NewForm.aspx重定向到EditForm.aspx的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆