【发布时间】:2021-11-16 04:21:02
【问题描述】:
我使用 ASP.net 开发了一个 web 表单,我想选择行并将该行数据显示到 web 表单中,但日期无法显示在 DateTime 类型的文本框中,有人帮我解决这个问题
ASP.Net 代码
<div class="col-4">
<asp:Label ID="Label7" runat="server" Text="Birth Date"></asp:Label>
<asp:TextBox ID="txtBirthDate" runat="server" TextMode="Date"></asp:TextBox>
</br>
<asp:Button ID="btnSave" Text="Save" runat="server" OnClick="btnSave_Click" />
</div>
<div class="col-8">
<asp:GridView ID="studentGrid" runat="server"
DataKeyNames="Id"
OnSelectedIndexChanged="StudentGrid_SelectedIndexChanged">
<Columns>
<asp:CommandField ButtonType="Button" ShowSelectButton="True" />
</Columns>
</asp:GridView>
</div>
c#代码
protected void StudentGrid_SelectedIndexChanged(object sender, EventArgs e)
{
try
{
selId = Convert.ToInt16(studentGrid.SelectedDataKey[0]);
if (selId > 0)
{
using (var ctx = new dbTestEntities())
{
var oldObj = ctx.tblStudents.Find(selId);
if (oldObj != null)
{
txtBirthDate.Text = oldObj.BirthDate.ToString();
}
}
}
}
catch (Exception)
{
throw;
}
}
【问题讨论】:
-
文本框中显示了什么?您是否已经浏览过代码并查看 oldObj 的返回结果?
-
@JobesK 没有在文本框中显示,只有 dd-mm-yyyy 在文本框中显示,因为它是 textmode="date"
-
当我尝试使用任何标签设置日期时,它会成功
-
IIRC,你看到你是怎么用
studentGrid.SelectedDataKey[0]得到ID了吗?我认为你必须做这样的事情。使用网格,或者可能是行然后FindControl。如果您搜索“网格行中的 FindControl”或类似内容,这可能已经得到解答。
标签: c# asp.net webforms entity-framework-6