1

私の質問は理解するのが少し難しいようですが、非常に単純であり、解決策も非常に単純であると確信しています.

編集および更新できる Gridview が 1 つあります。列が ReadOnly = "True" に設定されている場合に編集をクリックすると、デフォルトの Textbox コントロールが表示されることは誰もが知っています...

Gridview の [編集] ボタンをクリックして動的に作成されたテキスト ボックスから値を返すことができます。

私の質問は、グリッドビュー内で編集ボタンがクリックされたときに作成される動的テキストボックスに JavaScript コードを追加したいということです。

これは、テキスト ボックスがクリックされたときに Datepicker が表示される JavaScript コードです。

<head runat="server">

<link rel="Stylesheet" type="text/css" href="css/jquery.datepick.css" />
<script type="text/javascript" src="js/jquery.datepick.js"></script>

<script type="text/javascript" language="javascript">
    $(function () {    
        $('#Textbox_Name').datepick({ dateFormat: 'dd/mm/yyyy' });            
    });
</script>
</head>

さて、最初にそのコードにテキストボックス名を付ける代わりに、動的に作成されたグリッドビュー編集テキストボックスの名前を知り、そのテキストボックスに日付ピッカーを表示します

4

3 に答える 3

1

ここでの簡単な方法は、cssクラス名をエディターに追加してから、このクラスを次のように持つすべてのエディターに日付ピックを適用することです。

<script type="text/javascript" language="javascript">
    $(function () {
        $('.className').datepick({ dateFormat: 'dd/mm/yyyy' });
    });
</script>

更新パネルを含む解決策があるこの質問も参照してください:GridviewJqueryDatePickerのAsp.NetUpdatePanel

于 2012-07-19T11:34:50.413 に答える
1

RowCreated イベントを処理します。

protected void grid_RowCreated(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowState == DataControlRowState.Edit)
    {
        var textBox = e.Row.FindControl("myTextBox") as TextBox;
        ClientScript.RegisterStartupScript(this.GetType(), "datepick", 
        "$(function () { $('#" + textBox.ClientID + "').datepick({ dateFormat: 'dd/mm/yyyy' });  })", true);
    }
}
于 2012-07-19T11:31:01.027 に答える