簡體   English   中英

如何獲得out ViewData參數?

[英]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,這很容易閱讀。

(要了解有關refout參數的更多信息,您可能需要閱讀我有關C#參數傳遞的文章 。)

暫無
暫無

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

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