Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net ';System.Web.UI.WebControls.TextBoxMode';不包含';日期';_Asp.net - Fatal编程技术网

Asp.net ';System.Web.UI.WebControls.TextBoxMode';不包含';日期';

Asp.net ';System.Web.UI.WebControls.TextBoxMode';不包含';日期';,asp.net,Asp.net,错误消息: “System.Web.UI.WebControl.TextBoxMode”不包含“日期”的定义 代码: 检查以下各项 说明中说,asp文本框的Textmode属性只能设置为以下3个选项 密码:如果您想在文本框中将输入显示为点(密码类型),可以选择此模式 单行:用于将文本框保留为单行字段 多行:用于将textbox设置为commentbox,即具有多行 我认为所有TextBoxMode值都适用于.net framework 4.0或更低版本,现在这三个值都受支持。在.net 4.5

错误消息: “System.Web.UI.WebControl.TextBoxMode”不包含“日期”的定义

代码:


检查以下各项

说明中说,asp文本框的Textmode属性只能设置为以下3个选项

密码
:如果您想在文本框中将输入显示为点(密码类型),可以选择此模式

单行
:用于将文本框保留为单行字段

多行
:用于将textbox设置为commentbox,即具有多行

我认为所有
TextBoxMode
值都适用于.net framework 4.0或更低版本,现在这三个值都受支持。

在.net 4.5中受支持,但浏览器支持是部分的 使用ASP.net 4.5,您可以将此属性与更多值(如日期)一起使用-有关详细信息,请参阅文档。然而,截至2014年9月,据报道只有50%的用户能够正确使用它。如果您知道目标浏览器具有支持,请删除
CalendarExtender
,并将项目更改为目标.net 4.5

在VS2012中发布TextMode='Date'时出现问题 此外,如果使用预编译集发布,则需要选中“允许预编译站点可更新”,否则将出错(至少在VS2012中-如果我找到了解决方案,我将更新我的答案)

退回到ASP.net组件来完成这项工作 但是,您可以使用ASP.net
CompareValidator
CalendarExtender

<asp:TextBox ID="lastDate" runat="server" autocomplete="off" />
<ajax:CalendarExtender ID="lastDate_CalendarExtender" runat="server" 
    Enabled="True" TargetControlID="lastDate" />
<asp:CompareValidator ID="CompareValidator2" runat="server"
    ControlToValidate="txtDateDiscIssued"
    ErrorMessage="* invalid"
    Operator="DataTypeCheck"
    Type="Date" />

也许我添加2美分的时间太晚了,但我认为这可能会对未来的一些人有所帮助。正如Rob所提到的,由于.Net 4.5,您可以对
asp:TextBox
使用
TextMode=“Date”
,但浏览器支持可能会受到限制,因为这将使您的文本框在页面输出中显示为HTML5日期类型的文本框。在我写这篇文章时,大多数现代浏览器都支持HTML5

然而,如果这是您想要的,那么您的标记就没有问题

<asp:TextBox ID="lastDate" runat="server" autocomplete="off" TextMode="Date" />

如果在VisualStudio中看到此错误消息,很可能是因为目标框架版本不正确

按如下所示更改Web.Config中的Target Framework属性以消除此错误

Web.Config>configuration>system.Web>编译



希望这有助于

肯定不是修复错误的方法,但您可以通过添加html属性
type
而不是
TextMode
来避免它

type="date"

ASP.NET文本框控件不支持新的HTML 5输入类型。尝试一下我发布的解决方案之一。
<compilation debug="true" defaultLanguage="C#" targetFramework="4.5" />
type="date"