C# asp.NETC中的时差
我正在创建一个测验,我想计算用户在特定部分上花费的时间。我试图计算页面加载时间和“提交”按钮单击之间的差异,但一旦单击该按钮,页面就会刷新AutoPostBack=true,且差异为零。有没有办法计算时间 下面是我正在使用的以下代码C# asp.NETC中的时差,c#,asp.net,C#,Asp.net,我正在创建一个测验,我想计算用户在特定部分上花费的时间。我试图计算页面加载时间和“提交”按钮单击之间的差异,但一旦单击该按钮,页面就会刷新AutoPostBack=true,且差异为零。有没有办法计算时间 下面是我正在使用的以下代码 protected void Page_Load(object sender, EventArgs e) { dtAlgebraLoad = DateTime.Now; lblTime.Text = dtAlgebraLoad.ToString();
protected void Page_Load(object sender, EventArgs e)
{
dtAlgebraLoad = DateTime.Now;
lblTime.Text = dtAlgebraLoad.ToString();
}
protected void btnAlgebraNext_Click(object sender, EventArgs e)
{
dtAlgebraNext = DateTime.Now;
//timeSpan = dtAlgebraNext.Subtract(dtAlgebraLoad);
Label1.Text = dtAlgebraNext.ToString();
//Cal time duration between page and button Click
}
试试这个
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
dtAlgebraLoad = DateTime.Now;
lblTime.Text = dtAlgebraLoad.ToString();
}
}
试试这个
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack == false)
{
dtAlgebraLoad = DateTime.Now;
lblTime.Text = dtAlgebraLoad.ToString();
}
}
您可以在会话中存储该值,但可以尝试在单击按钮时调用javascript函数,并在该函数中实现必要的逻辑,并使用 document.getElementbyIdLabel1
您可以在会话中存储该值,但可以尝试在单击按钮时调用javascript函数,并在该函数中实现必要的逻辑,并使用 document.getElementbyIdLabel1
由于web客户端的连接非常断开,因此我会存储用户进入分区的开始日期/时间,然后在与分区交互时在所有后续调用中存储LastActivity日期。这将允许您查看用户上一次做某事的时间和开始的时间,给您一个持续时间,否则持续时间可能会被保留为开放式。由于web客户端的连接非常断开,我将存储用户进入分区的开始日期/时间,然后在与分区交互时在所有后续调用中存储LastActivity日期。这将允许您查看用户上一次做某事的时间和开始时间,给您一个持续时间,否则该持续时间可能会被保留为开放式。下面是一个纯JS解决方案,使用jQuery显示经过的时间。让此代码在页面加载时运行。如果将结果绑定到输入标记,还可以将其发回服务器 优点是用户总是能看到当前的弹性时间 var开始=新日期; 设置间隔函数{ var msePassed=新日期-开始; var dateObj=新的失效日期; var elapsedTime=dateObj.toISOString.substr11,8; $'elapsedTimeDisplay'.ValeLassedTime; }, 1000; 运行时间:
下面是一个纯JS解决方案,使用jQuery显示经过的时间。让此代码在页面加载时运行。如果将结果绑定到输入标记,还可以将其发回服务器 优点是用户总是能看到当前的弹性时间 var开始=新日期; 设置间隔函数{ var msePassed=新日期-开始; var dateObj=新的失效日期; var elapsedTime=dateObj.toISOString.substr11,8; $'elapsedTimeDisplay'.ValeLassedTime; }, 1000; 运行时间:
在aspx中添加隐藏字段
<input type="hidden" runat="server" id="hdnStartTime">
使用hdnStartTime.Value查找差异。在aspx中添加一个隐藏字段
<input type="hidden" runat="server" id="hdnStartTime">
使用hdnStartTime.Value查找差异。一种方法是将其存储在用户会话中。您应该使用Label1.Text=timeSpan.ToString而不是Label1.Text=dtAlgebraNext.ToString,另一种方法是将其存储在用户会话中。您应该使用Label1.Text=timeSpan.ToString而不是Label1.Text=dtAlgebraNext.ToString在多次访问中保留该值。如果您将dtAlgebraLoad声明为静态,那么它将在用户之间共享。@Rob Rajan在任何地方都没有将dtAlgebraLoad声明为静态,所以这个答案是完美的。@Imad您阅读了我评论的第一部分了吗?如果它不是静态的,它将不会在页面访问中保持不变,这是必需的。这不会在多个访问中保持该值。如果您将dtAlgebraLoad声明为静态,那么它将在用户之间共享。@Rob Rajan在任何地方都没有将dtAlgebraLoad声明为静态,所以这个答案是完美的。@Imad您阅读了我评论的第一部分了吗?如果它不是静态的,它将不会在页面访问中保持不变,这是必需的。