C# 将值设置为输入类型=";日期“;暗中

C# 将值设置为输入类型=";日期“;暗中,c#,asp.net,html,C#,Asp.net,Html,我想从ASP.NET web应用程序中的C#codebehind为我的HTML标记input type=“date”赋值。页面加载后,该值不可见,但在chrome开发工具中我可以看到该值: ASPX: <input type="date" runat="server" id="date_datumPrispetja" value="dd. MM. yyyy" /> string date = myDate.ToString("dd. MM. yyyy"); //value of

我想从ASP.NET web应用程序中的C#codebehind为我的HTML标记
input type=“date”
赋值。页面加载后,该值不可见,但在chrome开发工具中我可以看到该值:

ASPX:

<input type="date" runat="server" id="date_datumPrispetja" value="dd. MM. yyyy" />
string date = myDate.ToString("dd. MM. yyyy"); //value of date: "09. 04. 2017";
date_datumPrispetja.Value = date;
date_datumPrispetja.Value = DateTime.Now.ToString("dd. MM. yyyy");
hi.Value = DateTime.Now.ToString("dd. MM. yyyy");
<input type="date"  runat="server" id="date_datumPrispetja" value="dd. MM. yyyy"/>
<br />
<input type="datetime" runat="server" id="hi" value="dd. MM. yyyy" />
从codebehind向这个HTML5元素赋值是否可能


编辑:

<input type="date" runat="server" id="date_datumPrispetja" value="dd. MM. yyyy" />
string date = myDate.ToString("dd. MM. yyyy"); //value of date: "09. 04. 2017";
date_datumPrispetja.Value = date;
date_datumPrispetja.Value = DateTime.Now.ToString("dd. MM. yyyy");
hi.Value = DateTime.Now.ToString("dd. MM. yyyy");
<input type="date"  runat="server" id="date_datumPrispetja" value="dd. MM. yyyy"/>
<br />
<input type="datetime" runat="server" id="hi" value="dd. MM. yyyy" />
比较
datetime
date
输入类型。 C#:

<input type="date" runat="server" id="date_datumPrispetja" value="dd. MM. yyyy" />
string date = myDate.ToString("dd. MM. yyyy"); //value of date: "09. 04. 2017";
date_datumPrispetja.Value = date;
date_datumPrispetja.Value = DateTime.Now.ToString("dd. MM. yyyy");
hi.Value = DateTime.Now.ToString("dd. MM. yyyy");
<input type="date"  runat="server" id="date_datumPrispetja" value="dd. MM. yyyy"/>
<br />
<input type="datetime" runat="server" id="hi" value="dd. MM. yyyy" />
ASPX:

<input type="date" runat="server" id="date_datumPrispetja" value="dd. MM. yyyy" />
string date = myDate.ToString("dd. MM. yyyy"); //value of date: "09. 04. 2017";
date_datumPrispetja.Value = date;
date_datumPrispetja.Value = DateTime.Now.ToString("dd. MM. yyyy");
hi.Value = DateTime.Now.ToString("dd. MM. yyyy");
<input type="date"  runat="server" id="date_datumPrispetja" value="dd. MM. yyyy"/>
<br />
<input type="datetime" runat="server" id="hi" value="dd. MM. yyyy" />


结果:

<input type="date" runat="server" id="date_datumPrispetja" value="dd. MM. yyyy" />
string date = myDate.ToString("dd. MM. yyyy"); //value of date: "09. 04. 2017";
date_datumPrispetja.Value = date;
date_datumPrispetja.Value = DateTime.Now.ToString("dd. MM. yyyy");
hi.Value = DateTime.Now.ToString("dd. MM. yyyy");
<input type="date"  runat="server" id="date_datumPrispetja" value="dd. MM. yyyy"/>
<br />
<input type="datetime" runat="server" id="hi" value="dd. MM. yyyy" />

我认为这应该是工作,你把代码放在哪里了:

string date = myDate.ToString("dd. MM. yyyy"); //value of date: "09. 04. 2017";
date_datumPrispetja.Value = date;
页面加载()

我的测试代码如下:

protected void Page_Load(object sender, EventArgs e)
    {
        hi.Value = DateTime.Now.ToString("yyyy-MM-dd");
    }

然后它工作得很好。

我认为它应该工作,你把代码放在哪里了:

string date = myDate.ToString("dd. MM. yyyy"); //value of date: "09. 04. 2017";
date_datumPrispetja.Value = date;
页面加载()

我的测试代码如下:

protected void Page_Load(object sender, EventArgs e)
    {
        hi.Value = DateTime.Now.ToString("yyyy-MM-dd");
    }

然后它运行良好。

移动Safari、Firefox和Chromium只接受格式中的日期值

<input type="date" value="2017-04-27">

并将以本地化格式打印日期。如果他们获得本地化格式作为输入(例如“27.04.2017”),他们只打印占位符

但是Safari接受

<input type="date" value="27.04.2017">

另一方面,如果Safari获得输入格式“2017-04-27”,它将以非本地化形式打印此值

在浏览器的DOM中,输入值存储为属性defaultValue(对于所有浏览器为true),属性值为空(对于Safari则不是true)

我的解决办法是使用一些javascript:

$(函数(){
var datefields=$('.TTMMJJ')
对于(i=0;i0&&val.length==0){
var darr=defaultVal.split(“.”);
如果(darr.length==3){
var年=darr[2];
var月=darr[1];
var日=darr[0];
如果(年长==2){
年份=“20”+年;
}
var s=年+'-'+月.padStart(2,0)+'-'+日.padStart(2,0);
日期字段[i]。值=s;
}
}
}

});Mobile Safari、Firefox和Chromium只接受格式中的日期值

<input type="date" value="2017-04-27">

并将以本地化格式打印日期。如果他们获得本地化格式作为输入(例如“27.04.2017”),他们只打印占位符

但是Safari接受

<input type="date" value="27.04.2017">

另一方面,如果Safari获得输入格式“2017-04-27”,它将以非本地化形式打印此值

在浏览器的DOM中,输入值存储为属性defaultValue(对于所有浏览器为true),属性值为空(对于Safari则不是true)

我的解决办法是使用一些javascript:

$(函数(){
var datefields=$('.TTMMJJ')
对于(i=0;i0&&val.length==0){
var darr=defaultVal.split(“.”);
如果(darr.length==3){
var年=darr[2];
var月=darr[1];
var日=darr[0];
如果(年长==2){
年份=“20”+年;
}
var s=年+'-'+月.padStart(2,0)+'-'+日.padStart(2,0);
日期字段[i]。值=s;
}
}
}
});这对我很有用:

txtFechaOtorgamiento.Text = Format(servicio.FechaOtorgamiento, "yyyy-MM-dd");
这对我很有用:

txtFechaOtorgamiento.Text = Format(servicio.FechaOtorgamiento, "yyyy-MM-dd");
这对我有用

TextBox.Text = Convert.ToDateTime('01-01-2020').Date.ToString("yyyy-MM-dd");
这对我有用

TextBox.Text = Convert.ToDateTime('01-01-2020').Date.ToString("yyyy-MM-dd");

请给我看一下您的aspx中的
元素定义好吗?当然可以。我需要在同一输入中使用日期选择器,因此datetime对我不起作用。类型不重要。我将类型更改为最新&仍然获得当前的经验。啊哈,我找到了根本原因。您应该使用:DateTime.Now.ToString(“yyyy-MM-dd”);而不是DateTime.Now.ToString(“dd.MM.yyyy”);在页面中加载。查看更多详细信息:请在您的aspx中向我展示您的
元素定义,好吗?当然可以。我需要在同一输入中使用日期选择器,因此datetime对我不起作用。类型不重要。我将类型更改为最新&仍然获得当前的经验。啊哈,我找到了根本原因。您应该使用:DateTime.Now.ToString(“yyyy-MM-dd”);而不是DateTime.Now.ToString(“dd.MM.yyyy”);在页面中加载。有关更多详细信息,请参阅: