【发布时间】:2018-08-06 13:30:46
【问题描述】:
场景:
我的 .aspx 页面上有一个名为 gvpat 的 GridView。此 GridView 有五列。
- 小时
- 00 分钟
- 15 分钟
- 30 分钟
- 45 分钟
除了小时之外的每一列都有一个链接按钮。 我想要的是当单击 LinkButton 时,它将查看 Hour 列以获取小时,然后查看 LinkButton 所在的列以获取分钟。并将时间放在 .aspx 页面上其他位置的名为 txtCustTime 的 TextBox 中。 例如,如果在包含 Hour 1PM 的行上单击一个按钮,并且该按钮所在的列是 15 Min,则在 txtCustTime 中输入的值将等于 13:15
这里是下午
现在更改为 PM 和 更改为 AM 按钮只需在按下时重新绑定网格(我编写了一个将网格绑定到数据的函数 em>) 是有效的,而不是这个问题的一部分
场景结束
我的问题: 当一个 LinkButton 被按下时,我会调用一个这样的函数:例如,假设用户在 45 Min 列中按下了一个 LinkButton 并假设他们根据他们正在查看的时间,按下第 12AM 或 12PM 行上的按钮。
protected void gvpat_RowCommand(object sender, System.Web.UI.WebControls.GridViewCommandEventArgs e)
{
if (e.CommandName == "GetTime45")
{
//Get rowindex
int rowindex = Convert.ToInt32(e.CommandArgument);
//Get Row
GridViewRow gvr = gvpat.Rows[rowindex];
//Sets the label value for the linked button that was clicked
LinkButton lb = e.CommandSource as LinkButton;
if (gvpat.HeaderRow.Cells[4].Text == "45 Min")
{
Label myLabel = (Label)gvr.FindControl("lblhr");
if (myLabel.Text == "12AM") { txtCustTime.Text = "00:45:00"; }
if (myLabel.Text == "12PM") { txtCustTime.Text = "12:45:00"; }
}
}
}
我的问题是在查看“AM”视图时按下 LinkButton, txtCustTime 正确设置为 00:45:00
但如果用户正在查看“PM”视图并按下链接按钮, txtCustTime 被错误地设置为空白。什么时候应该是 12:45:00
注意事项: lblhr - 是控件的名称,该控件在 Hour 列下的 GridView 中保存值
【问题讨论】: