[英]System.FormatException: String was not recognized as a valid DateTime
[英]System.FormatException: String was not recognized as a valid Boolean
我正在使用ASP.NET MVC网络表单,并尝试获取用户选中的复选框的值。 运行应用程序时,将引发异常,并在控制器的以下代码行中显示服务器错误:
supp = Convert.ToBoolean(checksupp);
我已在调试模式下运行Visual Studio,并且复选框值已通过,但显示以下异常:
无法将字符串识别为有效的布尔值。
型号,视图和控制器如下所示,不确定如何解决此问题。
模型
public class WebFormXML{
private List<string> suppressions;
public WebFormXML()
{
suppressions = new List<string>();
}
public List<string> Suppressions
{
get { return suppressions; }
set { suppressions = value; }
}
{
视图
<input type="checkbox" groupname="suppressions" name="suppressions" id="supp1" value="Prepayments" runat="server" />
控制者
[HttpPost]
public ActionResult createXML(FormCollection collection)
WebFormXML wfx = new WebFormXML();
string checksupp = collection["suppressions"];
bool supp = true;
supp = Convert.ToBoolean(checksupp);
wfx.Suppressions.Add(checksupp);
在您的代码中:
string checksupp = collection["suppressions"];
它返回checksupp =“预付款”。
Convert.ToBoolean(value); //value only true or false
和您的代码是:
Convert.ToBoolean("Prepayments"); // -> error
发生这种情况是因为您期望读取的值实际上是“预付款”,而不是可以转换为布尔值的值(例如“ true”或“ false”)。
复选框提交
默认情况下,复选框只会提交选中的值,因此您无需执行任何其他检查即可查看是否选中了其他选项。 如果您需要处理多个可能的选择,只需遍历选中的选项并添加每个选项即可:
[HttpPost]
public ActionResult createXML(FormCollection collection)
{
// Build your WebForm object
WebFormXML wfx = new WebFormXML();
// Get your suppressed items
var suppressions = collection["suppressions"].Split(',');
// Add each of them to your object
wfx.Suppressions.AddRange(suppressions);
// Other code here
}
例
控制者
[HttpPost]
public ActionResult Index(FormCollection collection)
{
// Get your suppressed elements (they will come in as a comma-delimited string)
var suppressions = collection["suppressions"];
return Content("Properties: [" + suppressions + "] were suppressed.");
}
视图
@using (Html.BeginForm())
{
<b>A</b>
<input type="checkbox" groupname="suppressions" name="suppressions" value="A" />
<b>B</b>
<input type="checkbox" groupname="suppressions" name="suppressions" value="B" />
<b>C</b>
<input type="checkbox" groupname="suppressions" name="suppressions" value="C" />
<br />
<button type="submit">Check Suppressions</button>
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.