标签: html.textboxfor

如何在Razor语法中设置@ Html.TextBoxFor中的值?

我使用Razor创建了一个文本框,并尝试设置value如下.

@Html.TextBoxFor(model => model.Destination, new { id = "txtPlace", value= "3" })
Run Code Online (Sandbox Code Playgroud)

我曾尝试追加value@

@Html.TextBoxFor(model=> model.Destination, new { id = "txtPlace", @value= "3" })
Run Code Online (Sandbox Code Playgroud)

即使它将html input标记呈现为空value

<input id="txtPlace" name="Destination" type="text" value 
   class="ui-input-text ui-body-c ui-corner-all ui-shadow-inset ui-mini" >
Run Code Online (Sandbox Code Playgroud)

怎么了?

.net asp.net-mvc razor asp.net-mvc-3 html.textboxfor

28
推荐指数
4
解决办法
12万
查看次数

在禁用的TextBoxFor中,readonly是什么?

我有两种不同的方法来使用DISABLED TextBoxFor,它是:

@Html.TextBoxFor(u => u.Visibilidade, new { disabled = "disabled", @readonly = "readonly" })
Run Code Online (Sandbox Code Playgroud)

@Html.TextBoxFor(u => u.Visibilidade, new { disabled = "disabled" })
Run Code Online (Sandbox Code Playgroud)

即.使用或不使用readonly属性

考虑到禁用字段不会以任何方式更改,有什么区别?

提前致谢

html.textboxfor asp.net-mvc-5

20
推荐指数
1
解决办法
5万
查看次数

MVC Html.TextBoxFor MaxLength和Value

我正在尝试使用Html.TextBoxFor在我的项目中设置TextBox控件.

但是,它似乎只有方法签名:

Lambda表达式和值:

 <%= Html.TextBoxFor(t => t.ProjectDetails.Title, Model.ProjectDetails.Title)%>
Run Code Online (Sandbox Code Playgroud)

要么

Lambda表达式和HtmlAttributes:

<%= Html.TextBoxFor(t => t.ProjectDetails.Title, new { maxlength = 10})%>
Run Code Online (Sandbox Code Playgroud)

这不是样式的问题,因为控件ID已知:ProjectDetails_Title和样式表可以使用.但是,maxlength不能通过CSS设置,因为它是一种行为.

我知道您可以使用Html.Textbox指定所有三个,但我想利用Html.TextBoxFor的额外功能.

关于如何为使用Html.TextBoxFor渲染的控件设置值和最大长度的任何想法?

感谢您的帮助!

lambda model maxlength asp.net-mvc-2 html.textboxfor

19
推荐指数
1
解决办法
6万
查看次数

TextBoxFor @Value(大写)代替@value

这只是为了好奇

为什么这段代码有效:

Html.TextBoxFor(x => x.Age, new { @Value = "0"})
Run Code Online (Sandbox Code Playgroud)

这不是:

Html.TextBoxFor(x => x.Age, new { @value = "0"})
Run Code Online (Sandbox Code Playgroud)

注意大写的'V' @Value

我知道这value是一个关键字,但readonly它也是如此.没有必要使用@Readonly(大写'R').

有人有线索吗?

c# asp.net-mvc keyword html.textboxfor

8
推荐指数
2
解决办法
1885
查看次数

MVC2:无法用TextBoxFor更改名称?

我想手动为文本框定义id和名称:

<%: Html.TextBoxFor(model => model.Name, new { @id = "txt1", @name = "txt1" })%>
Run Code Online (Sandbox Code Playgroud)

但只有id被更改,而不是name属性,为什么?

<input id="txt1" name="Name" type="text" value="">
Run Code Online (Sandbox Code Playgroud)

谢谢!

html asp.net asp.net-mvc asp.net-mvc-2 html.textboxfor

6
推荐指数
3
解决办法
6486
查看次数

在MVC中使用TextBoxFor和viewModels的问题

我最近开始使用viewModel.这是我正在使用的viewModel:

public class ContentViewModel
    {
        public Content Content { get; set; }
        public bool UseRowKey { 
            get {
                return Content.PartitionKey.Substring(2, 2) == "05" ||
                   Content.PartitionKey.Substring(2, 2) == "06";
            }
        }
        public string TempRowKey { get; set; }

    }
Run Code Online (Sandbox Code Playgroud)

我改变了我的剃刀观点:

@model WebUx.Content

<div class="colx2-left">
    <label for="complex-fr-url" class="required">Order</label>
    @Html.TextBoxFor(model => model.Order)
</div>
Run Code Online (Sandbox Code Playgroud)

至:

@model WebUx.Areas.Admin.ViewModels.Contents.ContentViewModel

<div class="colx2-left">
    <label for="complex-fr-url" class="required">Order</label>
    @Html.TextBoxFor(model => model.Content.Order)
</div>
Run Code Online (Sandbox Code Playgroud)

现在我的观点失败了,显示以下消息:

编译器错误消息:CS0411:方法System.Web.Mvc.Html.InputExtensions.TextBoxFor TModel,TProperty>的类型参数(System.Web.Mvc.HtmlHelper <TModel>,System.Linq.Expressions.Expression <System.Func < TModel,TProperty >>)无法从使用中推断出来.尝试显式指定类型参数.

有人可以给我一些关于我该做什么的建议吗?

asp.net-mvc viewmodel razor asp.net-mvc-3 html.textboxfor

5
推荐指数
1
解决办法
6267
查看次数

如何在MVC中的TextBoxFor中限制为2位小数?

我想要小数点后只有 2 位数字。

@Html.TextBoxFor(m => m.Viewers, new { @tabindex = 7 })
Run Code Online (Sandbox Code Playgroud)

需要这样的输出:

56.23

456.20

1.21

像那样..

asp.net-mvc html.textboxfor

5
推荐指数
1
解决办法
6387
查看次数

隐藏日期的默认值

我的视图模型:

public partial class FileTransferFilterCriteriaViewModel
{
    public string Fice { get; set; }
    public string SourceEmail { get; set; }
    public string TargetEmail { get; set; }
    public DateTime FromDate { get; set; }
    public DateTime ToDate { get; set; }
    public string Status { get; set; }
    public string Category { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

(没有任何东西来自数据库.)

我的控制器:

return View(new FileTransferFilterCriteriaViewModel())
Run Code Online (Sandbox Code Playgroud)

这里是被显示为两个FromDateToDate:

1/1/0001 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)

我的HTML:

@Html.TextBoxFor(x =>x.Criteria.FromDate)
Run Code Online (Sandbox Code Playgroud)

问题:

  1. 如果日期是null,我如何禁止显示默认日期值?
  2. 如果日期不是 null,我该如何格式化日期 …

datetime asp.net-mvc-3 html.textboxfor

3
推荐指数
1
解决办法
3922
查看次数

如何设置默认值HTML.TextBoxFor()

我有一个由表单和文本框组成的视图.如何在字符串和int值的每个框中设置默认值?

我希望页面加载每个框的值,所以我不需要键入值.

我无法改变模型中的任何内容.

@model MyDb.Production.ProductionMaterial

@{
  ViewBag.Title = "CreateMaterial";
 }


@using (Html.BeginForm()) {
  @Html.ValidationSummary(true)
  <fieldset>
    <legend>ProductionOrderMaterial</legend>

    <div class="editor-label">
        @Html.LabelFor(model => model.Position)
    </div>
    <div class="editor-field">                   //something like
        @Html.TextBoxFor(model => model.Position, Or 5 )
        @Html.ValidationMessageFor(model => model.Position)
    </div>

    <div class="editor-label">
        @Html.LabelFor(model => model.ArticleId)
    </div>
    <div class="editor-field">                  //something like
        @Html.TextBoxFor(model => model.ArticleId. Or "")
        @Html.ValidationMessageFor(model => model.ArticleId)
    </div>


}
Run Code Online (Sandbox Code Playgroud)

forms asp.net-mvc asp.net-mvc-3 html.textboxfor

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

TextBoxFor没有时间显示日期

我想以格式MM/dd/yy在文本字段中显示日期.我将模型类描述为:

public class VacancyFormViewModel
{
    public int? ID { get; set; }
    [DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yy}")]
    public DateTime SurgeryDate { get; set; }
Run Code Online (Sandbox Code Playgroud)

当然,我可以用EditorFor而不是TextBoxFor:

@Html.EditorFor(p => p.SurgeryDate, new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

问题是css样式,客户想要应用bootstrap样式,这些样式被破坏:

在此输入图像描述

如果我设置TextBoxFor而不是EditorFor我得到日期与时间:

@Html.TextBoxFor(p => p.SurgeryDate, new { @class = "form-control" })
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

有什么方法可以解决我的问题?或者为时间或第三种方式应用样式EditorFor或显示样式TextBoxFor

css asp.net-mvc razor twitter-bootstrap html.textboxfor

2
推荐指数
1
解决办法
2143
查看次数

对于mvc 4的textbox,空字符串返回null

asp.net mvc 3中预填充Html.TextBoxFor的问题中,您可以看到以下代码正常工作的答案.

ViewBag.CompName = "Some Name";
Run Code Online (Sandbox Code Playgroud)

然后在你看来:

@Html.TextBoxFor(model =>model.Comps.CompName, new {@Value = ViewBag.CompName})
Run Code Online (Sandbox Code Playgroud)

但是,当文本框获取空字符串""的初始值时,它似乎为此文本框发布了null值.

ViewBag.CompName = "";
Run Code Online (Sandbox Code Playgroud)

这将发送空值而不是空字符串.

有没有办法返回空字符串而不是null?

c# asp.net-mvc razor asp.net-mvc-4 html.textboxfor

1
推荐指数
1
解决办法
4906
查看次数

如何覆盖TextBoxFor字段的CSS?

在Site.css中有以下类:

input[type="textbox"].TextBoxAsLabel {
     background:#f2f3f3  !IMPORTANT;
}
Run Code Online (Sandbox Code Playgroud)

想要覆盖Edit.cshtml中TextBoxFor字段的默认背景

@Html.TextBoxFor(model => model.ClientNumber, new {@readonly = "readonly", @class = "TextBoxAsLabel"})
Run Code Online (Sandbox Code Playgroud)

它仍然使用默认的白色背景.我应该改变什么?

html css asp.net-mvc html.textbox html.textboxfor

1
推荐指数
1
解决办法
5753
查看次数