Dim oldFileName = "C:\Test\16 Move File out of folder\GetICN.txt"
Dim newFileName = "C:\Test\16 Move File out of folder\GetICN2.txt"
Dim allText = System.IO.File.ReadAllText(oldFileName)
Dim matchs = System.Text.RegularExpressions.Regex.Matches(allText, "ICN-\w.*-\d+-\w+-\d+-\d\d")
Dim lines = matchs.Cast(Of System.Text.RegularExpressions.Match).Select(Function(m) m.Value)
System.IO.File.WriteAllLines(newFileName, lines)
Возможно, вы не включили параметр ReturnURL
в атрибут действия формы входа в систему, тем самым отправив сообщение в URL без этого параметра?
Попробуйте выполнить следующее:
public static MvcForm BeginForm(this HtmlHelper htmlHelper, string id)
{
string formAction = htmlHelper.ViewContext.HttpContext.Request.RawUrl;
TagBuilder tagBuilder = new TagBuilder("form");
tagBuilder.MergeAttribute("id", id);
tagBuilder.MergeAttribute("action", formAction);
tagBuilder.MergeAttribute("method", HtmlHelper.GetFormMethodString(FormMethod.Post), true);
HttpResponseBase httpResponse = htmlHelper.ViewContext.HttpContext.Response;
httpResponse.Write(tagBuilder.ToString(TagRenderMode.StartTag));
return new MvcForm(htmlHelper.ViewContext.HttpContext.Response);
}
Сначала убедитесь, что вы установили URL-адрес входа в систему в файле web.config, а затем убедитесь, что ваш вход Форма не содержит ничего похожего на действие, например:
Если вы укажете действие, вы всегда получите нулевой для возвращаемого URL:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult SignIn(string userName, string password, bool? rememberMe, string returnUrl)
{
}
Это обычно происходит, когда вы используете одну общую форму входа, но явно указываете Controller и ActionMethod (что вызывает публикацию формы, но теряет строку запроса)
Чтобы прояснить, вот как должен выглядеть ваш код в BeginForm:
Html.BeginForm("LogOn", "Account", new { ReturnUrl = Request.QueryString["ReturnUrl"] })
EDIT : Это сделано намеренно, как упоминает RickAnd в комментариях ниже. Однако он не позволяет шаблону пользовательского интерфейса находиться в глубине сайта, нажимать «Вход в систему», а затем возвращаться на страницу, на которой вы были ранее, если это позволяет анонимным пользователям. Это часто запрашиваемый шаблон. Подход Дэвида Аллена к LogOff также хорошо подойдет для чистого перенаправления в LogOn.
Я могу придумать два способа работы со сценариями входа и выхода. Дэйв Бир описал один способ выше. Есть еще один подход, который работает во многих ситуациях. Я использовал его при написании учебника NerdDinner. Учебное пособие предоставляет нам функцию выхода из системы, которая выводит вас из системы и возвращает вас домой. Я этого не хотел. Я хотел вернуться на страницу, на которой был до выхода из системы. Поэтому я изменил действие выхода из системы контроллера учетной записи, чтобы оно выглядело следующим образом
public ActionResult LogOff()
{
FormsService.SignOut();
return Redirect(Request.UrlReferrer.ToString());
}
. Вы можете стать более интересным и передать returnUrl и протестировать его, если вы хотите изменить это поведение. Но мне это не нужно. Таким образом достигается желаемый результат. Вход в систему может работать аналогично. Возможно, есть способы использовать инфраструктуру MVC, чтобы сделать это за меня, но пока я их не изучу, это ОЧЕНЬ просто и работает надежно.