В моем демонстрационном приложении asp.net mvc я столкнулся с проблемой маршрутизации. i.e Методы действий с возвращаемыми типами, отличными от actionresult или его подкласса, не вызываются, если их определение маршрута не помещено как первое, так и перед другими определениями маршрутов. i.e методы действия с возвращаемыми типами как void/string/others и т. д. вызывается только в том случае, если их route.routemap размещены в начале. для бывшего, если у меня есть и методы действий говорятasp.net MVC порядок маршрутизации
public string method1()
{
}
внутри контроллер CONT1, то только тогда, когда я место кода маршрутизации
routecollection.maproute("route1","{controller}/{action}",new {controller="cont1",action="method1"}
на первом перед другим routecollection.maproute он вызывался. иначе он не будет вызван. Пожалуйста, дайте мне знать причину этого.
Поскольку первый соответствующий маршрут всегда выполняется (маршрут маршрута 1, который вы указали, совпадает с маршрутом «по умолчанию») –
, поскольку @StephenMuecke говорит, что 1 соответствующий маршрут всегда выполнен, я не знаю, как вы размещаете свои маршруты , может быть, эта статья поможет вам http://www.codeproject.com/Articles/624181/Routing-Basics-in-ASP-NET-MVC – KanisXXX
Хорошей практикой является возврат результата вашей строки, завернутый в объект ContentResult, который также решит вашу проблему маршрутизации. Подробное обсуждение этой проблемы [здесь] (http://stackoverflow.com/questions/18482293/asp-net-mvc-contentresult-vs-string). –