Как использовать текстовое поле типа «дата» и «число» в ASP.NET 2.0 и разрешить для них серверную часть

#c# #html #asp.net #.net

#c# #HTML #asp.net #.net

Вопрос:

Я работаю в ASP.NET framework 2.0, и я хочу использовать поля Date , Time и Number текстовое поле, как показано ниже,

 <asp:TextBox ID="text_number" TextMode="Number" runat="server"></asp:TextBox>
<asp:TextBox ID="text_date" TextMode="Date" runat="server"></asp:TextBox>
<asp:TextBox ID="text_time" TextMode="Time" runat="server"></asp:TextBox>
  

Но я знаю, что мы не можем использовать подобное, поскольку framework 2.0 не поддерживает Date , Time и Number типы для <asp:TextBox> . Я использовал следующее,

 <input id="date_value" type="date" runat="server" />
<input id="time_value" type="time" runat="server" />
<input id="number_value" type="number" runat="server" />
  

Здесь это работает, но здесь я не могу получить доступ к полям на стороне сервера, и я получаю сообщение об ошибке на стороне сервера, как показано ниже,

 'date' is not a valid type for an input tag.
'time' is not a valid type for an input tag.
'number' is not a valid type for an input tag.
  

Есть ли какой-либо способ, которым я могу использовать Date , Time Number а также могу получить к ним доступ на стороне сервера, используя C# in ASP.NET 2.0 framework? (Нужно использовать только фреймворк 2.0, а не фреймворк более высокого уровня)

Редактировать

Я пробовал так, но все еще не работает

 <asp:TextBox ID="mydate" runat="server"></asp:TextBox>
<asp:TextBox ID="anotherdate" type="date" runat="server"></asp:TextBox>

protected void Page_Load(object sender, EventArgs e)
{
    mydate.Attributes.Add("type", "date");
}
  

Но это то, что я получаю, обычное текстовое поле

введите описание изображения здесь

ПОЛНЫЙ КОД

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="BCPDetails.WebForm1" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:TextBox ID="mydate" runat="server"></asp:TextBox>
        <asp:TextBox ID="anotherdate" type="date" runat="server" </asp:TextBox>
    </div>
    </form>
</body>
</html>
  

Комментарии:

1. Тип текста элемента управления текстового поля может быть только однострочным или многострочным, и вам нужно использовать атрибут type, как если бы это был стандартный элемент управления html

Ответ №1:

Вы должны быть в состоянии это сделать, asp отобразит атрибут типа как есть

 <asp:TextBox ID="text_number" type="number" runat="server"></asp:TextBox>
<asp:TextBox ID="text_date" type="date" runat="server"></asp:TextBox>
<asp:TextBox ID="text_time" type="time" runat="server"></asp:TextBox>
  

вы также можете попробовать следующее

 <asp:TextBox ID="text_number" runat="server"></asp:TextBox>
    <asp:TextBox ID="text_date" runat="server"></asp:TextBox>
    <asp:TextBox ID="text_time" runat="server"></asp:TextBox>
  

и в коде, лежащем в основе

 text_number.Attributes.Add("type", "number");
text_date.Attributes.Add("type", "date");
text_time.Attributes.Add("type", "time");
  

код, лежащий в основе решения, обязательно сработает

Комментарии:

1. Я пытался, но это не сработает that..it показывает только обычное текстовое поле

2. @ManoUncharted — Я обновил свой ответ другим решением для установки атрибута в коде, пожалуйста, попробуйте. Я уверен, что это сработает для вас

3. @ManoUncharted можете ли вы поделиться для меня отображаемым HTML-кодом.

4. Я добавил их в свой вопрос РЕДАКТИРОВАТЬ, пожалуйста, проверьте

5. @ManoUncharted Щелкните правой кнопкой мыши в окне браузера, выберите «просмотреть источник» и найдите html, который сгенерирован для ваших текстовых полей.