我有类似的东西:
<input type="text" name="TerrMng" id="TerrMng"/>
HTML中的。使用@ Html.Display?
等同于上述内容我尝试使用:@Html.Display("TerrMng", TerrMng)
但没有成功。请注意,我喜欢使用@ Html.Display,但不确定如何翻译ID值以便显示它。
答案 0 :(得分:5)
Display
方法不适用于创建输入框。你想用:
@Html.TextBoxFor(m => m.TerrMng);
或templated helper方法:
@Html.EditorFor(m => m.TerrMng);
我假设您要使用模型绑定。如果没有,如果您真的只想使用帮助器来创建输入标签,请使用:
@Html.TextBox("TerrMng");
这将发送给客户:
<input id="TerrMng" type="text" value="" name="TerrMng">
如果model.TerrMng为“”或String.Empty
,则上面的前两种方法会产生完全相同的html。如果由于某种原因你不想要value属性,你需要自己输入它。
答案 1 :(得分:3)
你可以尝试一下这个。这不是确切的,但你可以得到一些想法。
@Html.TextBoxFor(yourmodel => model.yourModelFieldname, null)
答案 2 :(得分:3)
如果您只想显示数据而不允许用户编辑信息,这应该可以解决问题。
@Html.DisplayFor(m => m.TerrMng);
修改强>
what-is-the-html-displayfor-syntax-for是有关stackoverflow的另一个问题,可能会为您提供更多指导。
修改强>
PageLoad上不存在TerrMng,因此您无法以这种方式使用 Html.Display 。您需要创建它并使用从jQuery接收的值填充其值。在这种情况下,您必须执行以下操作:
HTML
@Html.Display("TerrMng"); // This creates the label with an id of TerrMng
的jQuery
$("#TerrMng").val(TerrMng); // This puts the value of the javascript variable into the label
答案 3 :(得分:0)
@Html.Display()
代替@Html.DisplayFor()
。例如,这两个是等效的(假设您的模型是某个类):
@Html.DisplayFor(m => m.MyProperty)
和
@Html.Display("MyProperty")
但是Display()方法的另一个很酷的功能是它还可以在ViewData中进行查找,而不仅仅是在Model类中进行查找。例如,以下是一种在随机对象上显示该属性的HTML的方法,因为我们知道它具有一个名为“ Blah”的属性(对象的类型并不重要):
@{ ViewData["itsawonderfullife"] = SomeObject; }
<div>@Html.Display("itsawonderfullife.Blah")</div>
这样,我们告诉HtmlHelper
而不是我们的ViewData
来调查Model
,并显示给定{{1} }。