2013-01-02 65 views
0

我有一個用JavaScript編寫的條件語句,但Im在asp.net中使用Gridview並需要將其轉換爲C#或VB。此外,如果你可以幫助我在哪裏實現代碼與頁面,將不勝感激。將JavaScript條件轉換爲C#ASP.Net解決方案

以下代碼將「scheduledTime」變量(TIMESTAMP)與「currentTime」(系統時鐘)進行比較,並將在該行上返回背景。

var currentTime = new Date(); /* not sure if this is the correct time object to use */ 
var scheduledTime = scheduledTime(); 

if (scheduledTime >= 15mins) { 
return 'background-color:red;' 
} else if (scheduledTime > 15mins <= 30mins) { 
return 'background-color:yellow;' 
} else if (scheduledTime > 30mins <= 2hours) { 
return 'background-color:green;' 
} else if (scheduledTime > 2hours) { 
return 'background-color:none; 
} 

非常感謝!

+0

這不是有效的JavaScript。 – SLaks

+0

爲什麼不能在PageLoad函數中放置完全像這樣的代碼?而不是'return'只需在網格控件 – Hogan

回答

1

這應該是等同的版本:

protected void grid_RowDataBound(Object sender, GridViewRowEventArgs e) 
{ 

if(e.Row.RowType == DataControlRowType.DataRow) 
{ 
    if((DateTime.Now - DateTime.Parse((e.Row.DataItem as DataRowView)["scheduledTime "])).TotalMinutes<=15) 
     e.Row.BackColor = System.Drawing.Color.Red; 
    else if //... etc 
} 

而且在你的GridView的標記,只需添加一個OnRowDataBound處理程序:

<asp:gridview runat="server" id="yourGrid" OnRowDataBound="grid_RowDataBound" ...> 
+0

lcarus上設置屬性,感謝您的幫助。在我的例子中,我的javascript沒有正確/正確的書寫,但是你看到了我想要做的,我很欣賞你的評論。 – charlie

+0

@ crh313我的代碼是C#相當於您試圖在代碼中編寫的代碼。我的回答有幫助嗎? – Icarus

+0

@lcarus - 對於最後的其他人如果我有> 30min <= 2小時,我不知道「TotalMinutes」將在這裏工作。 – charlie

相關問題