По сути, вам нужно убедиться, что для параметра Source всегда задано значение EntryForm.aspx, чтобы независимо от того, как часто вы просматриваете форму, вы всегда будете перенаправлены обратно на новую в конце. Вы знали это, но я просто проясняю!
Простейшим методом будет некоторый javascript для проверки этого исходного параметра, и если он не тот, который вам нужен, перенаправьте запрос таким, какой он есть.
Если вы можете редактировать страницу EntryForm.aspx в SharePoint Designer, то добавьте этот javascript на страницу где-нибудь:
<script type="text/javascript">
if (gup("ok") != 1) {
if (gup("source") != window.location.href) {
window.location = window.location.href + "?&source=" + window.location.href + "&ok=1";
}
}
function gup( name ){
//This function returns the URL parameter specified
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null )
return "";
else
return results[1];
}
</script>
По сути, это просто перенаправление ваших запросов на эту страницу, поэтому источник всегда сам по себе. Параметр ok предназначен только для того, чтобы убедиться, что он делает это только один раз.
Это не идеальный код, но он демонстрирует идею (и она работает!)
Функция gup (Get URL Parameter) взята из здесь , и я считаю ее действительно полезной.
Надеюсь, это поможет
Charlie