如何将复选框的值作为字符串传递,而不是布尔值。

17 浏览
0 Comments

如何将复选框的值作为字符串传递,而不是布尔值。

我使用的是Oracle,并且在我的模型中有这样的代码:

public string Completed { get; set; }

我猜Oracle中没有bool类型。我尝试了以下代码:

@Html.CheckBoxFor(model => model.completed)

@Html.CheckBox("Completed")

0
0 Comments

问题出现的原因是checkbox的默认值是boolean类型,而需要将其作为string类型传递。解决方法是在checkbox的HTML代码中添加一个hidden input,将其值设为需要的string类型。具体代码如下:

<input id="completed" type="checkbox" value="Y" name="completed">
<input type="hidden" value="N" name="completed">

在上述代码中,我们使用了一个checkbox和一个hidden input来实现需求。checkbox的id设置为"completed",type设为"checkbox",value设为"Y",name也设为"completed"。hidden input的type设为"hidden",value设为"N",name也设为"completed"。

这样,当checkbox被选中时,它的值就会被设为"Y";当checkbox未被选中时,hidden input的值就会被设为"N"。通过这种方式,我们可以将checkbox的值以string类型传递。

0