2016-02-25 77 views
-1

我最近一直在與一個<select>標籤,但是,我注意到你不能確定,使用if statement如果GETNULL或等於""檢查一個GET方法是空/空

var tbl_st = (from c in db.tblfsk_style select c).ToArray(); 
    build.Append("<select id='style' name='style' class='styles'>"); 
    foreach (var style in tbl_st) 
    { 
     build.Append("<option value='" + style.StyleID + "'>" + style.Description + "</option>"); 
    } 
    build.Append("</select>"); 
    if(Request.QueryString["style"] != "") 
    { 
     var choosen = Request.QueryString["style"]; 
     var tbl_colour = (from c in db.tblfsk_style_colour where c.StyleID == choosen select c).ToArray(); 
     build.Append("<select id='colour' name='colour' class='styles'>"); 
     foreach (var colour in tbl_colour) 
     { 
      build.Append("<option value='" + colour.ColourID + "'>" + colour.ColourID + "</option>"); 
     } 
     build.Append("</select>"); 
    } 
    build.Append("<button type='submit' class='btn'>Continue</button>"); 

的想法是當他們選擇ContinueButton接下來的事情負載可達但我在努力尋找一種方法來檢查,如果style爲空或不是。

我曾嘗試:

if(Request.QueryString["style"] != "") { // next <select> tag 

和:

if(!string.IsNullOrEmpty(Request.QueryString["style"])) { // next <select> tag 

有沒有一種方法,以確定是否styleGETnull?這樣做的

PHP爲例(以更好地解釋):

if(isset($_GET['style'])) { // next <select> tag 
+1

風格的變化,將是非常使用JavaScript更容易處理客戶端(請參閱[JQuery](https://jquery.com/))。 – Igor

+0

style.StyleID是一個字符串類型,它是否爲「繼續」爲空? –

+0

繼續是一個按鈕@JamesDev當它被點擊時,我想加載另一個''標籤中,但如果'style'爲'NULL'我不希望它拉出第二個東西,因爲它的查詢依賴於'style'值。 – KDOT

回答

-1

您正在使用的Request.QueryString因此該值應通過URL作爲GET參數傳遞。如果通過URL字符串正確傳遞,您可以輕鬆查看樣式的值。

+0

是的,但當我這樣做:'if(Request.QueryString [「style」]!=「」){var styleChoosen = Request.QueryString [「style」]; var tbl_next =(從db.tblfsk_colour中的c開始,其中c.StyleID == styleChoosen選擇c).ToArray();'並將顏色輸出到新的''框....我問了如何檢查它的NULL值是否爲 – KDOT

+0

爲什麼不在這個值的debug值中調試並找到Request.QueryString [「style」]的確切值?值是否等於「」。 –

+0

因爲當我按繼續它的作品,但'風格'從來沒有'NULL'。它只是沒有設置,所以我問你是否可以檢查,如'PHP',如果它是'isset' – KDOT

0

我通過嘗試使用trycatch方法來解決此問題。

try 
{ 
    var sty_in = Request.QueryString["style"].ToString(); 
    build.Append("test"); 
} 
catch(Exception) 
{ 
    var tbl_st = (from c in db.tblfsk_style select c).ToArray(); 
    build.Append("<select id='style' name='style' class='styles'>"); 
    foreach (var style in tbl_st) 
    { 
     build.Append("<option value='" + style.StyleID + "'>" + style.Description + "</option>"); 
    } 
    build.Append("</select>"); 
} 

因此,如果已經輸入,我們可以把我們的新<select>語句來替換test

或者更簡單:

if(!string.IsNullOrEmpty(Request.QueryString["style"].ToString())){ } 

或者

if(Request.QueryString["style"].ToString() != null) { } 

我失蹤這樣的,這就是我假設你正在嘗試做的ToString()