2012-04-29 110 views
0

我有如下圖所示其中一個簡單的下拉列表中包含一些值:轉換字符串的輸入雙

<select id="Opacity"> 
    <option value="50">50%</option> 
    <option value="100">100%</option> 
</select> 

現在我使用Ajax調用我的webmethod傳遞所選值:

$("#btnGetFiles").click(function() { 
       ClearImages(); 
       $.ajax({ 
        type: "POST", 
        url: "Default.aspx/GetFiles", 
        data: JSON.stringify({imgOpacity: $('#Opacity').val()}), 
        contentType: "application/json; charset=utf-8", 
        dataType: "json", 
        success: function (response) { 
        } 
       }); 
}); 

現在,在我的webmethod我,得到的值「50」如果我選擇下拉值是「50」

這裏我的問題出現了,我有下面的代碼,我需要設置OPAC兩者均:

Dim imageOpacity As Single = 0.0F 
imageOpacity = CInt(imgOpacity) 
imageOpacity = imgOpacity/100 
imageOpacity = 1 - imgOpacity 

Dim colorMatrixElements As Single()() = {New Single() {1.0F, 0.0F, 0.0F, 0.0F, 0.0F}, 
New Single() {0.0F, 1.0F, 0.0F, 0.0F, 0.0F}, 
New Single() {0.0F, 0.0F, 1.0F, 0.0F, 0.0F}, 
New Single() {0.0F, 0.0F, 0.0F, imageOpacity , 0.0F}, 
New Single() {0.0F, 0.0F, 0.0F, 0.0F, 1.0F}} 

Dim wmColorMatrix As New ColorMatrix(colorMatrixElements) 

現在我需要添加「%」"imgOpacity"。如果我嘗試做這樣CINT(imgOpacity +「%」)它拋出我指出串不能錯誤被轉換爲「雙」類型。

那我該如何糾正呢?

+1

,你需要使用不透明?根據不同的情況,它可能會保持原樣,按100分割(但將數據類型從Int更改爲Decimal),或者將其設置爲可以包含%符號的字符串。 – ivowiblo 2012-04-29 09:47:40

+0

@ ivowiblo-在此之前,需要在imageOPacity = CInt(imgOpacity)之前,如果我修改單個單元來加倍,則會出現同樣的錯誤。 – coder 2012-04-29 10:00:00

+0

但是,爲什麼你需要把它%?你想用這個變量做什麼?計算一下嗎?在頁面上顯示它?將它保存到數據庫? – ivowiblo 2012-04-29 15:11:10

回答

0

最後找到了答案。

我已經改變了我的代碼如下:

imageOpacity = Single.Parse(imgOpacity) 
1

你爲什麼不把值除以100?這不是百分之幾嗎?


我認爲這是一個錯字沒有注意到的情況,因爲您的變量名稱非常相似。

看到這個片段

Dim imageOpacity As Single = 0.0F 
imageOpacity = CInt(imgOpacity) 
imageOpacity = imgOpacity/100 
imageOpacity = 1 - imgOpacity 

這裏的第三和第四個語句的R.H.S必須從imageOpacity,不採取值從 imgOpacity 。將該片段更改爲此。

Dim imageOpacity As Single = 1 - Convert.ToSingle(imgOpacity)/100 

而在這之後,請指定imageOpacity而不是 imgOpacity 到矩陣再次

+0

@ naveen-首先感謝您的回覆。但我已經完成了上面的同樣的事情。 – coder 2012-04-29 09:58:50

+0

@coder:對不起。我仍然感到困惑。如果您選擇了50%,請告訴我您希望在數組中爲imgOpacity輸入什麼值? – naveen 2012-04-29 10:00:45

+0

@ naveen - 如果用戶選擇「50」,我需要將該值傳遞給webmethod,然後從那裏我試圖將該值設置爲「imagOpacity」的「50」。如果我離開時未添加任何「%」那麼它不會給我帶來任何錯誤,也不會給圖像添加任何不透明。但是,如果我按照上面的說法做了某些事情,那麼它會給我一個錯誤。 – coder 2012-04-29 10:03:11