无法将lambda表达式转换为类型'string',因为它不是委托类型MVC

时间:2014-05-15 18:36:30

标签: asp.net-mvc lambda

我知道有很多像这样的主题,但我找不到答案。

在代码中:

@using (Html.BeginForm()) {
@Html.ValidationSummary(true)

<fieldset>
    <legend>TabelaModel</legend>

    @Html.HiddenFor(model => model.ID)

    <div class="editor-label">
        @Html.LabelFor(model => model.Druzyna)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.Druzyna)
        @Html.ValidationMessageFor(model => model.Druzyna);
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.LiczbaMeczy)
    </div>
    <div class="editor-field">
        @Html.TextBox(model => model.LiczbaMeczy)
        @Html.ValidationMessageFor(model => model.LiczbaMeczy)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.LiczbaGoliStrzelonych)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.LiczbaGoliStrzelonych)
        @Html.ValidationMessageFor(model => model.LiczbaGoliStrzelonych)
    </div>

    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>

}

编译器在行中抛出异常:

@Html.TextBox(model => model.LiczbaMeczy)

我已将一个System.Linq,System.Data.Entity放在模型中,在视图中,在控制器中,但仍然没有。当我将@ Html.TextBox替换为@ Html.EditorFor时,它正在工作,但我真的想避免这种情况。我的模特课:

namespace GridViewTest.Models
{
    public class TabelaModel
    {
        public int ID { get; set; }
        public string Druzyna { get; set; }
        [Required (ErrorMessage="*")]
        public string LiczbaMeczy { get; set; }
        [Required(ErrorMessage = "*")]
        public int LiczbaGoliStrzelonych { get; set; }
    }
}
你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

您需要使用TextBoxFor(不是TextBox):

@Html.TextBoxFor(model => model.LiczbaMeczy)

这将采用lambda表达式。