隐藏textBoxFor的默认值

时间:2013-08-07 11:25:02

标签: c# html5 asp.net-mvc-4

注意 - 这是一个使用Razor 2视图的asp.net MVC 4应用程序... 基本上我在视图中有一个文本框,等待用户输入数据, 此数据构成了我想要保存到Db的模型属性的值。

与此文本框关联的数据在模型中有[必需]选项卡。由于模型无效,我无法保存没有此文本框值的模型。

我知道我可以简单地将@Value添加到@HtmlTextBoxFor行,这意味着该值会显示给用户。

是否隐藏了默认值,以便用户只看到占位符文本,但“值”将保存到Db。 任何想法......?

文本框..

  @Html.TextBoxFor(n => n.Article.Title, new { @class = "span4 m-wrap", rows = 1 , @placeholder = "Enter your News Articles main subject or Title here" , @Value = "Title"})

控制器

   if (ModelState.IsValid)
    NewsArticle newNews = new NewsArticle();
    newNews.Title = newsArticle.Article.Title;

1 个答案:

答案 0 :(得分:0)

您可以按如下方式在文本框中添加ID:

@Html.TextBoxFor(n => n.Article.Title, new { @class = "span4 m-wrap", rows = 1 , @placeholder = "Enter your News Articles main subject or Title here" , @Value = "", @id="txtTitle"})

然后在表单提交事件

上调用以下jquery函数
$(function(){   
    $("form").submit(function () {
        if($("#txtTitle").val() == ""){
            $("#txtTitle").val("Default Value");
        }
    });
});