[英]How can I have an out ViewData Parameter?
我有一些重復的ViewData
數據,需要在多個controllers
它們。 我想為此創建一個實用函數。 我試圖有一個out
參數,並使用控制器的ViewData
調用該函數。
有人可以指導正確的語法和方法嗎?
public static void GetSheetsEssentialViewData(out ViewDataDictionary ViewData)
{
ViewData["111"] = Utility.111();
ViewData["22"] = Utility.22();
ViewData["33"] = Utility.33();
.....
}
您收到錯誤消息是因為在使用前必須在方法中初始化out
參數-最初未分配該參數。 但是,我認為您根本不希望它成為out
參數。
您可以只從控制器傳遞現有引用,而根本不使用out
參數:
// In UtilityClass
public static void GetSheetsEssentialViewData(ViewDataDictionary viewData)
然后在控制器方法中:
UtilityClass.GetSheetsEssentialViewData(ViewData);
或者,您可以考慮使其成為擴展方法:
public static void PopulateSheetsData(this ViewDataDictionary viewData)
然后,您可以在控制器中使用以下命令進行調用:
ViewData.PopulateSheetsData();
IMO,這很容易閱讀。
(要了解有關ref
和out
參數的更多信息,您可能需要閱讀我有關C#參數傳遞的文章 。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.