Asp.net 用于生成空白字段的文本框
我的MVC应用程序有一个奇怪的问题 当用户从下拉列表中选择日期时,将清除Asp.net 用于生成空白字段的文本框,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我的MVC应用程序有一个奇怪的问题 当用户从下拉列表中选择日期时,将清除StartDate和EndDate字段 我有以下代码片段: <label>Start date: @Model.StartDate</label> @Html.TextBoxFor(s => s.StartDate) 开始日期:@Model.StartDate @Html.TextBoxFor(s=>s.StartDate) 奇怪的是,你可以看到我在标签上的输出位置,日期就在
StartDate
和EndDate
字段
我有以下代码片段:
<label>Start date: @Model.StartDate</label>
@Html.TextBoxFor(s => s.StartDate)
开始日期:@Model.StartDate
@Html.TextBoxFor(s=>s.StartDate)
奇怪的是,你可以看到我在标签上的输出位置,日期就在那里。文本框未填充
我已经检查了生成的标记,文本框没有被填充
<label>Start date: 19/05/2013</label>
<input id="StartDate" name="StartDate" type="text" value="" /> <br />
开始日期:2013年5月19日
我错过了什么
为了添加更多的信息,当最初填充页面时,会输出默认的开始日期和结束日期。当
更改时,jQuery会清空这些字段。如果我将该位注释掉,那么字段将保留其以前的值,而不是空白值。本质上,提交给服务器的任何内容都是输出,而不是模型中的值。而不是这样做
<label>Start date: @Model.StartDate</label>
@Html.TextBoxFor(s => s.StartDate)
认为您的模型是一个名为以下内容的类:
public class What
{
public string StartDate { get; set; }
}
然后,假设您的应用程序是“MyApplication”,您需要将其添加到视图中,就像该视图是强类型的一样:
@using MyApplication.Models;
@inherits System.Web.Mvc.WebViewPage<What>
@使用MyApplication.Models;
@继承System.Web.Mvc.WebViewPage
那么,我们应该按照你的预期运行吗
本质上,提交给服务器的任何内容都是输出,而不是模型中的值
这种行为实际上是故意的。其思想是,用户通常希望在文本框中看到他们提交给服务器的内容
有关详细说明和解决方法,请参阅。您在类似的stackoverflow问题中找到了解决方案,但不确定发生了什么。你的代码在我这边运行得很好。文本框已正确填充。也许您需要添加更多的代码。@AlbertoLeón模型中的字段是一个字符串,无论如何谢谢。@JasonLi我会的,但我真的不知道该字段是空的,而标签不是空的。逻辑原因可能是您没有用文本设置StartDate字符串字段。是艾美。所以TextBoxFor没有任何错误,就是没有填充字段。请给我们设置字段起始日期的代码
public class What
{
public string StartDate { get; set; }
}
@using MyApplication.Models;
@inherits System.Web.Mvc.WebViewPage<What>