1

現在、テキスト ボックスを動的に構築する 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' is undefinedというエラー メッセージが表示されます。

codebehind から btnCalendar.OnClientClick (またはその他の代替手段) を使用して DatePicker コントロールを表示するにはどうすればよいですか?

4

2 に答える 2

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 ページの例に従います。

  <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>
于 2014-08-22T01:09:46.203 に答える
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>
于 2014-08-21T15:04:52.523 に答える