Это похоже на внутреннее сообщение об ошибке aurora (которое объясняет, почему Google не мог предложить что-то особенное, когда вы его искали). Я думаю, что правильный путь - обратиться в службу поддержки AWS.
Я с Ником на этот раз, хотя я думаю, что вы могли бы просто использовать обычные представления вместо того, чтобы делать частичные , Вам может потребоваться реализовать их как общие представления, если они не находятся в представлениях, соответствующих контроллеру (поскольку он будет смотреть только в связанных и общих представлениях).
public ActionResult TestRouting(string query)
{
if (query == "NewYork")
{
var model = ...somehow get "New York" model
return View("Index", model );
}
else if (query == "name-of-business")
{
var model = ...get "nameofbusiness" model
return View("Details", model );
}
else
{
return View("TestTabs");
}
}
Затем каждое представление будет принимать конкретный экземпляр модели и отображать это содержание с использованием модели. URL-адрес не изменится.
Каждый раз, когда вы используете RedirectResult, вы фактически отправляете HTTP-перенаправление в браузер, и это вызывает изменение URL-адреса.
Вы говорите, что хотите перейти на «www.mysite.com/NewYork», а затем «действительно» перейти «куда-нибудь еще», но оставить URL-адрес в покое? Возможно, что вы хотели бы сделать, это использовать частичные представления для реализации этого? Таким образом, ваша базовая страница будет направлена на то, на что вы будете перенаправлены, и затем внутри этой страницы вы проводите тестирование условий, чтобы вызвать различные частичные представления? Я сделал это в своем приложении для просмотра либо только для чтения версии сетки, либо редактируемой сетки. Это сработало очень хорошо.
Я не уверен, что вы можете сделать с перенаправлением на страницу .aspx, но вы должны быть в состоянии замените RedirectToAction (...) s
на что-то вроде этого:
public ActionResult TestRouting(string query)
{
if (query == "NewYork")
{
var controller = new AvailabilityController();
return controller.Index();
}
else if (query == "name-of-business")
return Redirect("nameofbusines.aspx?id=2731"); <--------- not sure
else
{
var controller = new TestController();
return controller.TestTabs();
}
}
Я не уверен, пробовали ли вы этот способ или у него есть какие-либо недостатки ..
Добавить файл global.asax в ваш проект. В этом случае добавьте следующий метод:
void Application_BeginRequest(object sender, EventArgs e)
{
// Handles all incoming requests
string strURLrequested = Context.Request.Url.ToString();
GetURLToRedirect objUrlToRedirect = new GetURLToRedirect(strURLrequested);
Context.RewritePath(objUrlToRedirect.RedirectURL);
}
GetURLToRedirect может быть классом, который имеет логику для поиска фактического URL-адреса на основе введенного URL-адреса. Свойство [RedirectURL] будет установлено с URL-адресом для перенаправления под листами.
Надеюсь, что это поможет ...