asp.net
  • .net
  • visual-studio-2012
  • 2013-11-27 130 views 0 likes 
    0

    我有這個問題,Im新的asp.net,真的沒有太多的理解與他們的語法,我明白錯誤,但不知道如何實現修復:asp.net RowFilter比較字符串與int

    ProductTable.RowFilter = "ProductID ='" & ddlCategory.SelectedValue & "'" 
    

    錯誤IM recieving是無法對system.int32 '=' 的操作和system.string數據視圖

    我的productID數據類型爲INT;

    現在我看不到如何比較一個字符串與int,ddlCatergory選擇的索引也會返回一個值...除了點...我完全卡住了。

    任何幫助表示讚賞。

    使用Windows 8,VS 2012,SQL數據庫。

    回答

    0

    ddlCategory.SelectedValue很可能是string給出的下拉列表中的SelectedValue屬性是string,你也賦值爲一個字符串,例如過濾器值可能最終會變成類似"ProductID ='123'",其中123是SelectedValue

    假設SelectedValue永遠不能爲null或空我會使用類似:

    ProductTable.RowFilter = string.format("ProductID = {0}", ddlCategory.SelectedValue); 
    

    如果它可能是空的話,我會做這些方針的東西:

    if(string.IsNullOrEmpty(ddlCategory.SelectedValue)) 
    { 
        ProductTable.RowFilter =""; 
    } 
    else { 
        ProductTable.RowFilter = string.format("ProductID = {0}", ddlCategory.SelectedValue); 
    } 
    

    OR

    int tempInt; 
    if(int.TryParse(ddlCategory.SelectedValue,out tempInt)) 
    {   
        ProductTable.RowFilter = string.format("ProductID = {0}", tempInt); 
    } 
    

    我已經用C#編寫了上面的代碼(沒有語法選中,雖然對不起!)如果有必要,將其轉換爲VB會很容易。

    +0

    笑,運營商藏漢後的語法問題而言,我想同樣的事情,但我在PHP程序,而且不知道有關asp.net,謝謝 – Careen

    0

    你應該等號(=)後去除單引號嘗試,所以它給像這樣

    ProductTable.RowFilter = "ProductID = " + ddlCategory.SelectedValue 
    
    +0

    無法得到這個工作,語法錯誤後運營商。我認爲這應該工作,如果我工作了一些東西,我會回到你身邊 – Careen

    相關問題