Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 生成的视图出错_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 3_Razor - Fatal编程技术网

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