我需要使用在代碼隱藏中計算的值在jQuery命令中設置單個屬性。我最初的想法是隻使用<%= %>
訪問這樣的:最佳實踐 - 從代碼背後設置jQuery屬性
的.aspx
<script type="text/javascript" language="javascript">
$('.sparklines').sparkline('html', {
fillColor: 'transparent',
normalRangeMin: '0',
normalRangeMax: <%= NormalRangeMax() %>
});
</script>
.aspx.cs
protected string NormalRangeMax() {
// Calculate the value.
}
它的氣味奇怪必須從ASPX頁面調用只是獲得一個單一的價值。更不用說我有一個完整的方法,只是爲了填充一個屬性而做一個小小的計算。
一種替代方案是使用clientScriptManager.RegisterClientScriptBlock
在代碼隱藏中創建整個<script>
塊。但是,我真的不喜歡把JavaScript的所有代碼塊放在代碼隱藏的地方,因爲它是JavaScript。
也許如果我最終有很多這些方法,我可以把它放在一個部分類中,這樣至少它們在物理上與其他代碼是分開的。
你會推薦什麼方法,因爲易於理解和易於維護?