簡體   English   中英

在ASP.NET MVC中命名視圖/操作“視圖”而不修改路由

[英]Name a view/action 'View' in ASP.NET MVC without modifing routes

是否可以在ASP.NET MVC中命名視圖/操作“View”而無需創建額外的路由定義集? 我想到了屬性,卻找不到合適的屬性。 “查看”作為函數名稱是不可能的,因為它會隱藏派生的Controller類的方法。

示例我的意思是:

public ActionResult HereShouldBeViewInsteadOfThisText()
{
    return View();
}

所以我可以使用url /home/view/id

您可以在action方法上使用ActionName屬性。 喜歡

[ActionName("View")]
public ActionResult ViewSomething(string id)
{
    return View();
}

Phil Haack的帖子中提到了這種解決方法

希望這可以幫助。

您的視圖和操作名稱不必匹配。 這只是MVC采用的約定配置方法。 如果要使用其他視圖名稱,只需將其作為字符串傳遞給返回調用:

public ActionResult MyAwesomeAction()
{
    return View("View");
}

但是,我會說約定是一種慣例。 這是一個非常簡單的開發人員跳進一個不熟悉的MVC項目,說“這是動作Foo ,所以我需要編輯視圖Foo.cshtml 。” 除非你有充分的理由,否則不要放棄這種輕松。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM