我需要生成用於JavaScript的網址。我不認爲我目前的解決方案是非常可讀的。提高Asp.NET MVC/Javascript網址生成可讀性
//Navigation during load: Id from MVC or hash or zero.
var m_departmentId = <%= ViewContext.RouteData.Values["id"] ?? 0 %>;
if(0 == m_departmentId)
{
var hash = location.hash;
//Only one hash value
var id = parseInt(hash.substring(2));
//If it's a real Id, use it.
if (!isNaN(id)) {
m_departmentId = id;
}
}
var gridUrl = '<%= Url.Action("GetEmployees", "Company", new { area = "" }) %>/' + m_departmentId;
此腳本被放置在我的頁面頂部JavaScript的地方,我將aspnet變量翻譯爲js變量。
我可以擺脫第一個JavaScript嗎?
我可以提高最後一行的可讀性嗎? Imho這是相當可怕的,特別是在我的頁面JavaScript。
其他改進?
改進1:當行動是路由的默認操作,因爲動作是從路徑剝離沒有使用動作參數時,
var gridUrl = '<%= Url.Content("~/Company/GetEmployees/") }) %>' + m_departmentId;
T4MVC沒有工作。
爲什麼你需要散列? –
@Darin Dimitrov它用於該頁面上的ajax導航(具有深度鏈接)(類似於樹和網格界面的資源管理器)。 –