1
我剛剛開始了一個項目,我們的BA人需要我在特定時間內禁用所有aspxgridviews。在服務器端禁用aspxgridviews,如何在客戶端處理?
C#
public void CutoffDateTime()
{
//DateTime today = DateTime.Now; // this will be for live code
DateTime today = new DateTime(2016, 4, 15, 7, 00, 00); // for testing
DateTime cutoff = new DateTime(2016, 4, 19, 7, 00, 00);
if (today >= cutoff.AddDays(7))
{
cutoff = cutoff.AddDays(7);
}
// if today is past cutoff, disable all grids
if (today < cutoff.AddHours(-55))
{
gvProduction.Enabled = false;
gvProductionSummary.Enabled = false;
gvDowntimeSummary.Enabled = false;
gvNonProd.Enabled = false;
cbCutoff.Checked = false;
}
else
cbCutoff.Checked = true;
}
的網格被禁用正確,但是這會影響調用grid.Refresh()方法的一些客戶端代碼。
我已經添加了複選框,作爲一種無形的控制,這樣我可以輕鬆地與客戶端接口和我想要補充:
JS
if (cbCutoff.GetChecked()==true)
grid.Refresh();
但我仍然得到的JavaScript運行時錯誤,指出'cbCutoff未定義',但我想不出另一種方式來完成這項任務。
感謝
編輯:
這裏是我試圖通過DexExpress' GetChecked修復()方法返回true,如果檢查我的asp.net標記的一部分:
ASPX
<ClientSideEvents ActiveTabChanged="function(s, e) {
if (e.tab.index.toString() == 1 && cbCutoff.GetChecked()==true)
gridProductionSummary.Refresh();
}" />
您可以發佈頁面的「ASPX」標記嗎? – Seany84
你可以將GridView的可見性設置爲「False」嗎? 'gvProduction.Visible = false;'控件將呈現,並且會傳遞給客戶端,但不會顯示。除非你根本不希望這些數據出現在客戶端界面中。 –
對不起,我誤解了這個問題。在ASP.Net中,你需要在JS中傳遞控件的ID,但它不是你輸入到控件中的ID,因爲它被服務器渲染爲不同的東西。在您的JS代碼中,您需要執行類似<%= cbCutoff.ClientID%>的操作,它將填充呈現頁面上的實際ID字段。 –