我想掃描我的網站並編錄所有內容。要做到這一點,我需要將我所有的視圖轉換爲字符串(MVC 4)
- 找到所有意見(可能是因爲控制器/動作組合)
- 使我所有的意見爲字符串
要爬我自己網站,我已經實施了這個sitemap provider。所以我有一個XML文件是這樣的:
<?xml version="1.0" encoding="utf-8" ?>
<mvcSiteMap xmlns="http://mvcsitemap.codeplex.com/schemas/MvcSiteMap-File-3.0"
enableLocalization="false">
<mvcSiteMapNode title="Home" controller="Home" action="Index"
changeFrequency="Always" updatePriority="Normal">
<mvcSiteMapNode title="Dashboard" controller="Home" action="Dashboard"/>
<mvcSiteMapNode title="My Profile" controller="Profile" action="MyProfile"/>
<mvcSiteMapNode title="My Jobs" controller="Profile" action="MyJobs"/>
</mvcSiteMapNode>
</mvcSiteMap>
,我可以轉換到使用LINQ到XML的列表。
我打算通過使用RenderViewToString常用方法將每個視圖轉換爲字符串。
不幸的是,當你想渲染一個特定的視圖到一個字符串時,這會更好。當你事先不知道具體的模型/控制器。
結論:有沒有一種方法來呈現一個以字符串只具有控制器和動作的名稱作爲字符串?
您可能會遍歷您的站點地圖節點並向您的URL發出您自己的System.Net.HttpClient請求(使用您擁有的控制器/操作名稱構建它們)。 –
@ Moo-Juice,這是一個有趣的想法。我希望更優雅的東西(EASY),但會谷歌HttpClient看看我可以如何使用它來呈現我的意見。 – Renaissance
可能需要查詢路由,以便您可以遍歷所有路由。即使你解決了這個問題:問題是當你的行爲需要參數/模型時,你會傳遞給他們什麼? – AaronLS