我知道这些问题已被提出
但他们都没有帮助我找到我面临的问题
我试图使用此解决方案
<div class="form-group">
@Html.LabelFor(model => model.Postcode_area_name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBox(model => model.Postcode_area_name, new { disabled = "disabled", @readonly = "readonly" })
</div>
</div>
使一个编辑字段只读,但我得到一个错误 无法将lambda表达式转换为&#39; Delegate&#39;因为它不是委托类型 我确实使用实体框架工作和使用
using System;
using System.Collections.Generic;
using System.Data;
using System.Data.Entity;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Mvc;
using CRM2.Models;
其他问题的建议是使用
using System.Data.Entity;
using System.Linq;
应该解决问题,但它对我不起作用 我正在使用MVC 5
我已使用此解决方案解决了该问题
@Html.DisplayFor(model => model.Postcode_area_name)
@Html.HiddenFor(model => model.Postcode_area_name)
但是因为我是MVC和实体框架工作的新手,我想知道为什么另一种方式抛出错误
对不起英语&#34;错误&#34; 谢谢
答案 0 :(得分:3)
所以你的原始代码:
<div class="form-group">
@Html.LabelFor(model => model.Postcode_area_name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBox(model => model.Postcode_area_name, new { disabled = "disabled", @readonly = "readonly" })
</div>
</div>
您应将其更改为:
<div class="form-group">
@Html.LabelFor(model => model.Postcode_area_name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Postcode_area_name, new { @readonly = "readonly" })
</div>
</div>
请注意,在For
上添加了TextBox
并删除了disabled = "disabled"
根据@StephenMuecke
删除disabled
的原因
禁用的控件不提交值
添加For
的原因是它的扩展方法签名具有表达式的第一个参数
答案 1 :(得分:1)
<div class="form-group">
@Html.LabelFor(model => model.Postcode_area_name, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.TextBoxFor(model => model.Postcode_area_name, new { @readonly = "readonly" })
</div>
当您使用紧密绑定的实体时