我的MVC应用程序中有一个奇怪的问题。
当用户从下拉列表中选择日期时,它会清除StartDate
和EndDate
字段。
我有以下代码片段:
<label>Start date: @Model.StartDate</label>
@Html.TextBoxFor(s => s.StartDate)
奇怪的是,你可以在我在标签上输出它的时候,日期就出现了。文本框未填充。
我已检查生成的标记,文本框未填充。
<label>Start date: 19/05/2013</label>
<input id="StartDate" name="StartDate" type="text" value="" /> <br />
我在这里缺少什么?
要添加更多信息,最初填充页面时,将输出默认的开始和结束日期。当<select>
发生变化时,有一些jQuery会清空这些字段。如果我对该位进行评论,则字段将保留其先前的值而不是空白。基本上,提交给服务器的是输出而不是模型中的值。
答案 0 :(得分:2)
答案 1 :(得分:0)
而不是这样做
<label>Start date: @Model.StartDate</label>
@Html.TextBoxFor(s => s.StartDate)
你应该这样做
<label id="someId"></label>
@Html.TextBoxFor(s => s.StartDate,new{@id="startdate"})
并在文本框上使用jquery更改事件,您可以设置lablel
$("#startdate").change(function(){
var date="Start Date:"+$(this).val();
$("#someid").html(date);
});
答案 2 :(得分:0)
认为你的模型是一个名为What like this的类:
public class What
{
public string StartDate { get; set; }
}
然后,假设您的应用程序是“MyApplication”,您需要添加到视图中,就好像视图是强类型的那样:
@using MyApplication.Models;
@inherits System.Web.Mvc.WebViewPage<What>
然后我们应该按照您的预期运行