标签: html-helper

Html.DisplayTextFor()有什么意义?

是否有充分的理由使用强类型的html助手...

<%: Html.DisplayTextFor(model => model.Email) %>
Run Code Online (Sandbox Code Playgroud)

而不是......

<%: Model.Email %> 
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc html-helper

47
推荐指数
3
解决办法
2万
查看次数

用于新HTML5输入类型的ASP.NET MVC HTML帮助程序方法

HTML5似乎支持一系列新的输入字段,例如:

  • 数字
  • 电子邮件地址
  • 颜色
  • 网址
  • 数字范围(通过滑块)
  • 日期
  • 搜索框

有没有HtmlHelper人为ASP.NET MVC实现生成这些的扩展方法呢?可以使用接受的重载来执行此操作htmlAttributes,例如:

Html.TextBoxFor(model => model.Foo, new { type="number", min="0", max="100" })
Run Code Online (Sandbox Code Playgroud)

但那并不像以下那样好(或类型安全):

Html.NumericInputFor(model => model.Foo, min:0, max:100)
Run Code Online (Sandbox Code Playgroud)

.net asp.net-mvc html5 html-helper html-input

47
推荐指数
5
解决办法
7万
查看次数

ASP.NET MVC DropDownListFor,其类型为List <string>

我有一个类型为List的模型的视图,我想在页面上放置一个下拉列表,其中包含列表中的所有字符串作为下拉列表中的项目.我是MVC的新手,我怎么做到这一点?

我试过这个:

@model List<string>
@Html.DropDownListFor(x => x)
Run Code Online (Sandbox Code Playgroud)

但那引发了一个错误.任何帮助表示赞赏.

c# asp.net-mvc html-helper razor asp.net-mvc-3

47
推荐指数
2
解决办法
14万
查看次数

我想了解@ Html.DisplayFor中的lambda表达式(modelItem => item.FirstName)

我在C#和MVC上相当新,并且在某些场合使用过lambdas,例如匿名方法和LINQ.

通常我看到lambda表达式看起来像这样:

(x => x.Name), (x => { Console.WriteLine(x))
Run Code Online (Sandbox Code Playgroud)

我明白lambda ="去".我从未见过没有使用左参数的lambda表达式.

我不知道如何翻译这个lambda表达式

@Html.DisplayFor(modelItem => item.FirstName)
Run Code Online (Sandbox Code Playgroud)

任何人都可以为我揭开这一点吗?不应该这样

(modelItem => modelItem.FirstName)?
Run Code Online (Sandbox Code Playgroud)

我从Microsoft的ASP.NET MVC入门教程中得到了这个.

c# asp.net-mvc lambda html-helper razor

47
推荐指数
3
解决办法
2万
查看次数

HTML.HiddenFor值集

@Html.HiddenFor(model => model.title, new { id= "natureOfVisitField", @value = '@Model.title'})
Run Code Online (Sandbox Code Playgroud)

它不起作用!如何设定价值?

asp.net-mvc html-helper asp.net-mvc-3 html.hiddenfor

45
推荐指数
4
解决办法
11万
查看次数

MVC 3 - Html.EditorFor似乎在$ .ajax调用后缓存旧值

这是以下问题的后续内容:

MVC 3 + $ .ajax - 响应似乎是从部分视图缓存输出

那里有问题的详细描述.但是,我现在已经设法缩小了问题,这似乎与Html.EditorFor助手有关,因此是新问题.

问题:

我使用$ .ajax将数据发布到服务器,然后返回包含输入控件的部分视图的html.问题在于,尽管将新创建的对象传递给部分视图模型,但各种@ Html.EditorFor和@Html.DropDownListFor帮助程序返回OLD DATA!.

我可以通过在Html帮助器旁边打印出值来证明模型已正确地将新对象传递给帮助程序.即:

@Html.EditorFor(model => model.Transaction.TransactionDate) 
@Model.Transaction.TransactionDate.ToString()
Run Code Online (Sandbox Code Playgroud)

如下图所示,@ Html.EditorFor返回错误的数据:

缓存响应...

[请注意,Comentario文本框旁边的值是一个日期时间,因为我正在测试用每个帖子改变的值替换默认值,即DateTime.

如果我用一个普通的旧版@Html.TextBox()替换@Html.EditorFor for TransactionDate:

@Html.TextBox("Transaction_TransactionDate", Model.Transaction.TransactionDate)
Run Code Online (Sandbox Code Playgroud)

然后它为新的Transaction对象呈现正确的TransactionDate值,即DateTime.MinValue(01/01/0001 ...).

因此...

问题出在@ Html.EditorFor助手上.TextBoxFor和DropDownListFor也会出现问题.

问题是这些助手似乎缓存旧值.

我究竟做错了什么??!

编辑:

我刚刚在自定义编辑器模板中尝试调试日期,在那里,ViewData.TemplateInfo.FormattedModelValue显示正确的值,即"01/01/0001".然而,一旦它到达Fiddler,响应将显示旧日期,例如上图中的"01/09/2011".

结果,我只是认为这里有一些缓存,但我没有设置,所以没有任何意义.

jquery html-helper asp.net-mvc-3

42
推荐指数
2
解决办法
2万
查看次数

如何在mvc razor viewmodel文本输入编辑器中添加"required"属性

我有以下MVC 5 Razor HTML帮助器:

@Html.TextBoxFor(m => m.ShortName, 
  new { @class = "form-control", @placeholder = "short name"})
Run Code Online (Sandbox Code Playgroud)

我需要这个字段是必需的(例如,当用户导航而没有放置值值时,会有一个红色轮廓).在WebForms HTML 5中我可以说<input type="text" required />具有这种效果.在Razor语法中实现此功能的正确语法是什么?

asp.net-mvc html-helper data-annotations razor

42
推荐指数
3
解决办法
12万
查看次数

自定义html帮助程序:使用"using"语句支持创建帮助程序

我正在编写我的第一个asp.net mvc应用程序,我对自定义Html帮助程序有疑问:

要制作表格,您可以使用:

<% using (Html.BeginForm()) {%>
   *stuff here*
<% } %>
Run Code Online (Sandbox Code Playgroud)

我想用自定义HTML帮助器做类似的事情.换句话说,我想改变:

Html.BeginTr();
Html.Td(day.Description);
Html.EndTr();
Run Code Online (Sandbox Code Playgroud)

成:

using Html.BeginTr(){
    Html.Td(day.Description);
}
Run Code Online (Sandbox Code Playgroud)

这可能吗?

.net asp.net-mvc html-helper

39
推荐指数
3
解决办法
9421
查看次数

39
推荐指数
2
解决办法
3万
查看次数

具有指定HTML ID的Html.ActionLink?

我想用生成Html.ActionLink的HTML ID 生成,这样我就可以根据我的位置更改CSS.我有一MasterPage组链接,我想区分活动的"Tab"和Jquery更改活动的#id的css

现在我正在使用:

<%: Html.ActionLink("Some View", "Index", "controller")%>
Run Code Online (Sandbox Code Playgroud)

它产生:

<a href="/controller">Some View</a>
Run Code Online (Sandbox Code Playgroud)

我想生成:

<a id="something" href="/controller">Some View</a>
Run Code Online (Sandbox Code Playgroud)

那可能吗?我试过了:

<%: Html.ActionLink("Some View", "Index", "controller", new {id="blahbla")%>
Run Code Online (Sandbox Code Playgroud)

但这会产生:

<a href="/controller/Length?5">Some View</a>
Run Code Online (Sandbox Code Playgroud)

css asp.net-mvc html-helper actionlink asp.net-mvc-2

37
推荐指数
2
解决办法
5万
查看次数