在本文中,我们将带你了解MVC和Razor中Html.TextboxFor和Html.EditorFor的区别在这篇文章中,我们将为您详细介绍MVC和Razor中Html.TextboxFor和Htm
在本文中,我们将带你了解MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别在这篇文章中,我们将为您详细介绍MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别的方方面面,并解答razorpage和mvc常见的疑惑,同时我们还将给您一些技巧,以帮助您实现更有效的angularjs – 与MVC Html.TextBoxFOr绑定的角度模型、ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映在服务器上执行的更改、ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映服务器上所做的更改、ASP.NET MVC3 - 带有@Html.EditorFor 的文本区域。
本文目录一览:- MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别(razorpage和mvc)
- angularjs – 与MVC Html.TextBoxFOr绑定的角度模型
- ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映在服务器上执行的更改
- ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映服务器上所做的更改
- ASP.NET MVC3 - 带有@Html.EditorFor 的文本区域
MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别(razorpage和mvc)
为什么默认情况下在添加新的“编辑”视图时会更改这些内容?使用EditorFor()
vs.有什么优势TextboxFor()
?
我找到了这个
默认情况下,Create 和 Edit 脚手架现在使用 Html.EditorFor 助手而不是 Html.TextBoxFor
助手。当“添加视图”对话框生成视图时,这改进了对数据注释属性形式的模型元数据的支持。
从这里引用。
答案1
小编典典的优点EditorFor
是您的代码不绑定到<input type="text"
. 因此,如果您决定更改文本框的呈现方式,例如将它们包装在 a
中,您div
可以简单地编写自定义编辑器模板~/Views/Shared/EditorTemplates/string.cshtml
(Html.TextBoxFor
将不得不到处修改它。您还可以使用数据注释来控制呈现方式。
angularjs – 与MVC Html.TextBoxFOr绑定的角度模型
@Html.TextBoxFor(model => model.OriginLocation.City,new { @,data_ng_model = "address1.City",test_change = "" })
因此,当页面加载文本框输入的值被绑定并且应该显示来自具有Razor绑定控件的服务的值,后者我可以操纵该值来改变该控件的角度模型.
我所拥有的是文本框加载空.
我查看源时看到的值但是没有显示.
<inputdata-ng-model="address1.City" data-val="true" data-val-length="The field City must be a string with a maximum length of 50." data-val-length-max="50" id="OriginLocation_City" name="OriginLocation.City" test-change="" type="text" value="Manheim">
js片段
app.controller('LocationCtrl',["$scope",function ($scope) { $scope.address1 = { Label: 'address1' };
解决方法
http://jsfiddle.net/yApeP/
但您可以使用ngInit指定值…
http://jsfiddle.net/D7vh7/
这意味着您可以在生成文本框时使用ngInit …
@Html.TextBoxFor(model => model.OriginLocation.City,test_change = "",data_ng_init = string.Format("address1.City = '{0}'",Model.OriginLocation.City.Replace("'",@"\'")) })
ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映在服务器上执行的更改
例如;我在动作中将SomeValue设置为4并将其显示在文本框中.我将值更改为8,点击提交,并期望在文本框中将值更改回4,但由于某种原因它保持为8.但如果我输出SomeValue而不使用Html助手,则表示4.任何人都有一些关于到底是怎么回事?
我的控制器:
public ActionResult Index(HomeModel model) { model.someValue = 4; if (Request.IsAjaxRequest()) return PartialView(model); return View(model); } public class HomeModel { public int? SomeValue { get; set; } }
我的观点(请注意,我的布局页面中没有所有必需的javascript):
<div id="ajaxtest"> @using(Ajax.BeginForm(new AjaxOptions{ InsertionMode = InsertionMode.Replace,UpdateTargetId = "ajaxtest",HttpMethod = "Post" })) { @Html.TextBoxFor(model => model.someValue) <input type="submit" value="Update" /> } </div>
解决方法
ModelState.Clear()
在您的控制器方法中,使html助手使用您更改的模型.否则,他们使用表单提交中的值
看看:Asp.net MVC ModelState.Clear
ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映服务器上所做的更改
我正在使用ASP.NET
MVC3中的Ajax.BeginForm帮助程序来提交一个表单,该表单将自己替换为服务器上设置的表单中的新值。但是,当我使用诸如Html.TextBoxFor之类的助手时,我得到的是提交的值,而不是我插入服务器模型中的值。
例如;
我在操作中将SomeValue设置为4,并在文本框中显示它。我将值更改为8,然后单击“提交”,并希望在文本框中将其更改回4,但是由于某种原因,它仍保持为8。但是,如果我不使用Html帮助程序而输出SomeValue,则会显示4。到底是怎么回事?
我的控制器:
public ActionResult Index(HomeModel model){ model.SomeValue = 4; if (Request.IsAjaxRequest()) return PartialView(model); return View(model);}public class HomeModel{ public int? SomeValue { get; set; }}
我的视图(请不要在布局页面中包含所有需要的JavaScript):
<div id="ajaxtest">@using(Ajax.BeginForm(new AjaxOptions{ InsertionMode = InsertionMode.Replace, UpdateTargetId = "ajaxtest", HttpMethod = "Post" })) { @Html.TextBoxFor(model => model.SomeValue) <input type="submit" value="Update" />}</div>
答案1
小编典典您可以使用
ModelState.Clear()
在您的控制器方法中,以使html助手使用您更改的模型。否则,他们使用表单提交中的值
看看:Asp.net MVC
ModelState.Clear
ASP.NET MVC3 - 带有@Html.EditorFor 的文本区域
我有 ASP.NET MVC3 应用程序,也有用于添加新闻的表单。当 VS2010
创建默认视图时,我只有字符串数据的文本输入,但我希望文本区域用于新闻文本。我如何使用 Razor 语法来做到这一点。
文本输入如下所示:
@Html.EditorFor(model => model.Text)
我们今天的关于MVC 和 Razor 中 Html.TextboxFor 和 Html.EditorFor 的区别和razorpage和mvc的分享已经告一段落,感谢您的关注,如果您想了解更多关于angularjs – 与MVC Html.TextBoxFOr绑定的角度模型、ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映在服务器上执行的更改、ASP.NET MVC 3 Ajax.BeginForm和Html.TextBoxFor不反映服务器上所做的更改、ASP.NET MVC3 - 带有@Html.EditorFor 的文本区域的相关信息,请在本站查询。
本文标签: