【问题标题】:Error: Cannot convert lambda expression to type 'string' because it is not a delegate type错误:无法将 lambda 表达式转换为类型“字符串”,因为它不是委托类型
【发布时间】:2014-03-04 12:53:15
【问题描述】:

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

当我尝试在 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" />
}

这是模型类;

namespace DataEntryMvcApplication.Models
{
    public class Customer
    {
        public string CustomerId { get; set; }
        public string CustomerName { get; set; }
    }
}

【问题讨论】:

    标签: asp.net-mvc-4


    【解决方案1】:

    你需要 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>
    }
    

    两者的区别解释here

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

        这样试试,

        @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" />
        }
        

        【讨论】:

          【解决方案4】:

          只是花了很长时间试图解决这个问题。恢复旧页面并一一更改后,出现问题的行是:

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

          我认为它一定不喜欢尝试访问视图包?不管怎样,注释掉这个问题就解决了。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多