Часть моих карт приложений ресурсы хранятся в нескольких местах на веб-URL, например:маршрутизации трудности
http://servername/Issue.aspx/Details?issueID=1504/productId=2345
Можно ли построить маршрут MVC, который соответствует это так, что я получаю путь в его полнота перешла в мой контроллер? Либо как одна строка, либо, возможно, как массив строк параметров.
В моей Global.aspx я имею routes.MapRoute( "Issue", "Issue/{Details}", new { controller = "Issue", action = "Details" }, new { issueId = @"\d+", productId = @"\d+" } );
Я попытался код
RouteValueDictionary parameters = new RouteValueDictionary { {"Controller", "Issue"},{ "action", "Details" }, { "issueId", Test.ID }, {"productId", Test.Project.ID} };
VirtualPathData vpd = RouteTable.Routes.GetVirtualPath(null, parameters);
var test = vpd.VirtualPath;
тест значение
/Issue.aspx/Details?issueId=1504 & PRODUCTID = 3625.
Как сгенерировать URL-адреса с помощью ASP.NET Маршрутизация и отправьте ее пользователям, и они должны иметь возможность открыть страницу, нажав на сгенерированную ссылку. Однако здесь имя сервера не включено. Как я могу получить имя сервера со ссылкой как http://servername/Issue.aspx/Details?issueID=1504/productId=2345
Спасибо, что ответили. Я не совсем понял это объяснение. Как я смогу создать URL-адрес и отправить ссылку по электронной почте, чтобы страница открывалась, когда пользователь нажимает на ссылку? – learning
Как я уже сказал: 1. Определите маршрут правильно 2. Используйте HTML-помощник под названием ActionLink для создания ссылки Не имеет значения, что вы делаете с ViewResult. Вы можете вернуть его как HTML-страницу или отправить по электронной почте. Этот вопрос касается маршрутизации, а не того, как передавать почту или как извлекать HTML из представления и использовать его позже. Если вы ищете ответы на эти вопросы, создайте новый вопрос здесь или еще что-нибудь. Я не смогу ответить на них прямо сейчас. – AlexanderMP
Я бы хотел иметь виртуальный путь. Как я могу найти жизненный путь? Я использовал VirtualPathUtility.ToAbsolute (HttpContext.Current.Request.ApplicationPath); но он возвращается "\". Я хочу создать что-то вроде http: // localhost: 4219/Issue.aspx/Details? IssueID = 1504. Я делаю это в своей модели, поэтому, я думаю, я не смогу использовать Actionlink? – learning