我目前有一个动态构建文本框的VB.Net应用程序 我需要显示一个按钮控件,它将显示一个日期选择器,然后用所选的日期值填充相应的文本框。
我正在动态创建btnCalendar,因为特定页面上有多个日历按钮,因此btnCalendar.ID = tab.ID & grdRowID
Protected Sub DisplaySearchWindow()
Dim ddl As DropDownList
Dim txt As TextBox
Dim cal As Calendar
Dim btnCalendar As Button
Select Case iIndex
Case 1
Dim cv As New CompareValidator
txt = New TextBox
txt.ID = "txt" & UserName & grdRowID.Name
cv.ControlToValidate = txt.ID
btnCalendar = New Button
btnCalendar.ID = "btnCalDisplay" & tab.ID & grdRowID
btnCalendar.Text = "+"
btnCalendar.ToolTip = "click to view calendar"
btnCalendar.Attributes.Add("OnClientClick", "javascript:return ShowAlert('Hi');")
c.Controls.Add(cv)
c.Controls.Add(txt)
c.Controls.Add(btnCalendar)
在代码隐藏中构建按钮控件时,我有btnCalendar.OnClientClick = btnCalendar.Visible = True
当我运行应用程序并单击btnCalendar时,我收到一条错误消息 JavaScript运行时错误:'True'未定义。
如何使用代码隐藏中的btnCalendar.OnClientClick(或任何其他替代方法)显示DatePicker控件?
答案 0 :(得分:2)
如果您对替代方案持开放态度(从您的帖子中指出,则表示如此),您可以尝试这样做:
Select Case iIndex
Case 1
Dim cv As New CompareValidator
txt = New TextBox
txt.ID = "txt" & UserName & grdRowID.Name
txt.cssclass="DateValue"
cv.ControlToValidate = txt.ID
c.Controls.Add(cv)
c.Controls.Add(txt)
然后在您的aspx页面上,按照JQueryUI page上的示例:
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.1/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.1/jquery-ui.js"></script>
<link rel="stylesheet" href="/resources/demos/style.css">
<script>
$(function() {
$( "#datepicker" ).datepicker();
});
</script>
答案 1 :(得分:0)
代码背后的代码应该是:
Sub btnCalendar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnCalendar.Click
btnCalendar.Visible = True
end sub
或者您可以在asp页面中尝试:
<%@ page language="VB"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Sub btnCalendar_Click(ByVal sender As Object, ByVal e As System.EventArgs)
btnCalendar.Visible = True
End Sub
</script>
<html>
<head>
</head>
<body>
<form id="form1" runat="server">
<asp:button id="btnCalendar" runat="server" onclick="btnCalendar_Click" />
</form>
</body>
</html>