我得到" CS0030:无法转换类型'字符串'到了' bool'"尝试设置ASP TextBox的enabled属性时的错误消息。
标记如下:
<asp:TextBox ID="dateTo" runat="server" Enabled='<%# "javascript:disableDateTo()"%>' BackColor="#FFFF99" />
Javascipt功能是:
function disableDateTo() {
// Disable the dateTo field if the dateFrom field doesn't contain a value
if ($("#MainContent_dateFrom").datepicker("getDate") != null) {
return false;
}
else {
return true;
}
}
答案 0 :(得分:0)
我同意这些评论,你不能像在你的例子中那样混合服务器端和客户端代码。看起来你想要的东西是接受日期作为文本输入,直到用户从日历中选择日期。如果是这种情况,我会将其实现为纯客户端代码,如follows:
HTML:
<div id='MainContent_dateFrom'></div>
<input id='dateTo' type='text' />
脚本:
$(document).ready(function() {
$("#MainContent_dateFrom").datepicker({
onSelect: function() {
$("#dateTo").val(new Date(Date.parse($(this).datepicker("getDate"))).toLocaleDateString())
.attr("disabled", "disabled");
}
});
});
答案 1 :(得分:0)
您需要在asp .net控件标记之外触发JavaScript事件。 以下是使用页面加载实现此目的的方法:
<script type="text/javascript">
$(function () {
disable();
});
function disable() {
if ($("#dateTo[disabled]").length > 0) {
$("#dateTo").removeAttr('disabled');
}
else {
$("#dateTo").attr('disabled', 'disabled');
}
}
</script>