У меня есть текстовое поле даты в каждой строке вида сетки.Поскольку пользователям нельзя разрешать вводить свои собственные значения в текстовое поле, мы установили свойство как ReadOnly = "true".И предоставил плагин java-script calender, который устанавливает значение Textbox.Теперь, когда я пытаюсь получить доступ к текстовому полю даты при сохранении, значение текстового поля не сохраняется.
Я тоже знал об этой проблеме и ее решении.Нам нужно установить атрибут readonly на стороне сервера, чтобы решить эту проблему.Но моя самая большая проблема в том, что я поместил текстовое поле в поле «Шаблон» в виде сетки.Поэтому мне нужно пройтись по каждой строке представления Grid, затем получить ссылку на текстовое поле даты и затем установить атрибут readonly только для чтения.Выглядит очень громоздко.Кто-нибудь может предложить другие альтернативы или обходные пути.
Код как ниже
<asp:GridView ID="gv_sample" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<asp:TextBox runat="server" ID="txtByWhen" ReadOnly="true" CssClass="inputbox" Text='<%#Eval("ByWhen") %>'></asp:TextBox>
</td>
<td style="padding-left: 2px;">
<img src="../Images/dateico.gif" alt="Select a date" title="Select a date"
onclick="JavaScript:return showCalendar('<%#((GridViewRow)Container).FindControl("txtByWhen").ClientID %>','dd/mm/y');" />
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>