【问题标题】:How to show or hide a textbox in asp.net based on two dates in page load event如何根据页面加载事件中的两个日期在 asp.net 中显示或隐藏文本框
【发布时间】:2020-04-21 18:29:26
【问题描述】:

我有一个带有标签、2 个日期选择器和一个文本框的网络表单。我在标签中有一个日期值。如果日期选择器选择的值小于标签值,则在页面加载时,我想显示文本框,否则隐藏它。我该如何这样做?

【问题讨论】:

  • 到目前为止你有什么尝试?
  • 获取日期选择器选择值的变量在页面加载时显示空引用错误。

标签: javascript c# asp.net vb.net


【解决方案1】:

首先将您的文本框 visible 属性设置为 false 并执行以下操作。

var dateFromLabel = lablel.text; 
var dateFromPicker = DateTime.Now;

现在,将此字符串转换为您从 datepicker 获得的 DateTime 格式,即

DateTime dateFromLabelConverted = Convert.ToDateTime(dateFromLabel);
if (dateFromPicker < dateFromLabelConverted )
{
textbox.visible = true;
}

注意:如果日期格式不匹配,则可能无法为您提供正确的结果。

【讨论】:

  • var dateFromPicker 在页面加载时显示空引用错误。第一次加载页面时 var dateFromPicker 始终为 NULL。我该如何处理
  • 在页面加载时将默认值设置为日期选择器,即dateTimePicker.Value = DateTime.Now。我也改进了答案。
  • 我有两个日期选择器,如果我们给出默认值,我们没有得到预期的结果。
  • 我们可以使用 IsPostBack 方法,但是下次当我只选择一个日期选择器时,另一个显示空引用错误。
  • 这意味着你想在两个日期选择器中都有价值?如果然后将日期分配给具有不同日期的两个日期选择器。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
  • 2017-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-21
相关资源
最近更新 更多