C# 生成的视图出错
以下代码有什么问题?它是由添加视图向导生成的。当我导航到控制器时,会出现以下错误:C# 生成的视图出错,c#,asp.net,asp.net-mvc,asp.net-mvc-3,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Razor,以下代码有什么问题?它是由添加视图向导生成的。当我导航到控制器时,会出现以下错误:字符串未被识别为有效的布尔值,并且下面的一行高亮显示:@using(Html.BeginForm()) 以下是视图: @model Radio_Management_Interface.DomainModel.Entities.Network @{ ViewBag.Title = "Create"; Layout = "~/Views/Shared/_Layout_main.cshtml";
字符串未被识别为有效的布尔值,并且下面的一行高亮显示:@using(Html.BeginForm())
以下是视图:
@model Radio_Management_Interface.DomainModel.Entities.Network
@{
ViewBag.Title = "Create";
Layout = "~/Views/Shared/_Layout_main.cshtml";
}
<h2>Create</h2>
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Network</h4>
<hr />
@Html.ValidationSummary(true)
<div class="form-group">
@Html.LabelFor(model => model.name, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.name)
@Html.ValidationMessageFor(model => model.name)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.startCode, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.startCode)
@Html.ValidationMessageFor(model => model.startCode)
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.frequency, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.frequency)
@Html.ValidationMessageFor(model => model.frequency)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}`
域模型:
public class Network
{
public int networkID { get; set; }
public string name { get; set; }
public int startCode { get; set; }
public decimal frequency { get; set; }
public virtual List<Block> blocks { get; set; }
}
公共类网络
{
公共int网络ID{get;set;}
公共字符串名称{get;set;}
公共int起始码{get;set;}
公共十进制频率{get;set;}
公共虚拟列表块{get;set;}
}
您的id是可为空的类型,请用此行替换它:
Network network = db.Networks.Find(id.Value);
这是:
if (id == null)
可以更改为:
if (!id.HasValue)
以下行将出现问题:
Network network = db.Networks.Find(id);
id实际上是一个可为null的类型,当Find方法需要该值时,它会传递给Find方法
使用可为null的类型,您可以使用value属性读取基础值,即
id.Value
这是我的整个视图文件。我将添加控制器。我的Id应该是int?不是吗?我在问题中添加了我的模型。当然可以,但是由于它是一个可为空的类型,您需要设置值而不是对象。我将更新问题以更好地解释。:)好的,这对我的行动细节非常有效。但是现在我在创建操作上收到了相同的错误。这是操作方法` public ActionResult Create(){return View();}`好的,请用其中的代码创建另一个问题好吗?它只是更容易跟踪,在这里发布链接,我会看一看。:)另外,请你在新的问题中也贴上剃须刀,我想我需要看看。
id.Value