Это зависит от того, что вы хотите сделать. Я лично хотел переименовать свой проект, чтобы в верхней части приложения и под значком в меню телефона не было указано MainActivity.
Для этого я зашел в файл Android Manifest.xml и отредактировал
<activity
android:name=".MainActitivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
И отредактировал android:name=".Mynewname"
, а затем отредактировал строку title_activity_main
в строках. XML-файл, соответствующий имени.
Надеюсь, это поможет!
Измените свою подпись, чтобы принять строку. Затем проверьте, является ли значение id int. Если да, то поиск по идентификатору, если не поиск по имени. Если вы не найдете совпадения, сделайте свое перенаправление.
public class TypeController
{
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult View(string id)
{
Product product = null;
int productID = -1;
if (int.TryParse( id, out productID))
{
product = db.Products
.Where( p => p.ID == productID )
.SingleOrDefault();
}
else
{
product = db.Products
.Where( p => p.Name == id )
.SingleOrDefault();
}
if (product == null)
{
return RedirectToAction( "Error" );
}
...
}
}
Причина, по которой я сделал это, заключается в том, что для того, чтобы знать, какой контроллер / действия применить, фреймворк будет искать тот, который соответствует подписи переданные данные маршрута. Если у вас нет соответствующей подписи - в данном случае той, которая принимает строку - вы получите исключение перед вызовом любого из ваших фильтров. К сожалению, я не думаю, что у вас может быть один, который принимает строку, а другой, который принимает int - в этом случае фреймворк не сможет определить, какой из них должен соответствовать, если передан единственный параметр, по крайней мере, если он число, то есть.
Не уверен, что ты справишься. Я бы подумал, что вам нужно передать строку, а затем проверить, является ли она числовой, но может быть лучший способ.
Что касается использования перенаправления
return RedirectToAction("MyProfile", "Profile");
Вы можете передавать значения маршрута как часть RedirectToAction call, чтобы вы могли передать идентификаторы или имена и т. д., если это необходимо.
Есть и другие способы, такие как перенаправление на маршруты, которые также могут быть полезны для того, что вы хотите.