Asp.net mvc 4 错误:无法将lambda表达式转换为类型';字符串';因为它不是委托类型

Asp.net mvc 4 错误:无法将lambda表达式转换为类型';字符串';因为它不是委托类型,asp.net-mvc-4,Asp.net Mvc 4,错误:无法将lambda表达式转换为类型“string”,因为它不是委托类型 当我试图在mvc4中添加cshtml页面时,我遇到了这个错误。 第行客户名称:@Html.TextBox(m=>Model.CustomerName) 谁能解释一下它的意思和它为什么会出现在这里 代码是 @model DataEntryMvcApplication.Models.Customer @using (Html.BeginForm()) { <p>Customer Name: @Html.

错误:无法将lambda表达式转换为类型“string”,因为它不是委托类型

当我试图在mvc4中添加cshtml页面时,我遇到了这个错误。 第行客户名称:@Html.TextBox(m=>Model.CustomerName)

谁能解释一下它的意思和它为什么会出现在这里

代码是

@model DataEntryMvcApplication.Models.Customer
@using (Html.BeginForm())
{
    <p>Customer Name: @Html.TextBox(m => Model.CustomerName)</p>
    <p>ID:@Html.TextBox(m=>Model.CustomerId)</p>
    <input type="submit" name="Custtomer" />
}
试着这样,

@model DataEntryMvcApplication.Models.Customer
@using (Html.BeginForm())
{
    <p>Customer Name: @Html.TextBox(m => m.CustomerName)</p>
    <p>ID:@Html.TextBox(m=>m.CustomerId)</p>
    <input type="submit" name="Custtomer" />
}
@model dataentrymvcapapplication.Models.Customer
@使用(Html.BeginForm())
{
客户名称:@Html.TextBox(m=>m.CustomerName)

ID:@Html.TextBox(m=>m.CustomerId)

}
模型
在作为
@Html.TextBox(…)
参数的linq表达式中不存在。
m
表示
模型
,您需要使用该变量访问正确的属性,如下所示:

<p>Customer Name: @Html.TextBoxFor(m => m.CustomerName)</p>
<p>ID:@Html.TextBoxFor(m=>m.CustomerId)</p>
客户名称:@Html.TextBoxFor(m=>m.CustomerName)

ID:@Html.TextBoxFor(m=>m.CustomerId)


您将需要Html.TextBoxFor而不是Html.TextBox:

@model DataEntryMvcApplication.Models.Customer
@using (Html.BeginForm())
{
    <p>Customer Name: @Html.TextBoxFor(m => m.CustomerName)</p>
    <p>ID:@Html.TextBoxFor(m => m.CustomerId)</p>
}
@model dataentrymvcapapplication.Models.Customer
@使用(Html.BeginForm())
{
客户名称:@Html.TextBoxFor(m=>m.CustomerName)

ID:@Html.TextBoxFor(m=>m.CustomerId)

}

这两者之间的区别就解释了

只是花了很多时间试图解决这个问题。还原旧页面并逐个进行更改后,出现问题的行是:

<img src="~/images/Captcha/@ViewBag("CaptchaName")" />

我想它一定不喜欢尝试访问查看包?不管怎样,把这个评论出来就解决了问题

<img src="~/images/Captcha/@ViewBag("CaptchaName")" />