【发布时间】:2012-05-09 09:47:45
【问题描述】:
我有一个简单的下拉列表,如下所示,其中包含一些值:
<select id="Opacity">
<option value="50">50%</option>
<option value="100">100%</option>
</select>
现在我正在使用 ajax 调用将选定的值传递给我的 web 方法:
$("#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) {
}
});
});
现在在我的网络方法中,如果我将下拉值选择为“50”,则将值设为“50”
我的问题出现了,我需要在下面的代码中设置不透明度:
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 + "%") 它会给我一个错误指出字符串无法转换为类型“Double”。
那么我该如何纠正呢?
【问题讨论】:
-
您需要在哪里使用该不透明度?根据这一点,可以这样离开,将其除以每 100(但将数据类型从 Int 更改为 Decimal),或者将其设为字符串以便它可以包含 % 符号。
-
@ivowiblo- 需要在 imageOPacity=CInt(imgOpacity) 之前,如果我修改单双它给我同样的错误。
-
但是为什么要在上面加上 % 呢?你想用那个变量做什么?计算什么?显示在页面上?保存到数据库?
标签: asp.net string double type-conversion opacity