2

このようなasp.net ajaxカレンダーを作成したいのですが、完全にコードビハインドです。どうすればいいのですか?

編集:コードビハインドでjsコードをページに追加したいだけです(例:マークアップではありません)

Edit_2:テンプレート クラスでテキスト ボックス コントロールを作成し、そこにカレンダーを作成したいので、これが必要です (テキスト ボックスで使用するため)。

4

1 に答える 1

2

あなたが参照しているASP.NET ajaxカレンダーはエクステンダーであるため、理論的には実行時にコードビハインドでテキストボックスに追加できます。以下の例を参照してください。プレースホルダーは非常に重要です。

なぜこれを行う必要があるのか​​ わかりません.より良い解決策があるかもしれないので、その必要性についてより良い考えを教えてください.

シンプルなページ

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="WebApplication2._Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
</head>

<body>
    <form id="form1" runat="server"><asp:scriptmanager runat="server"></asp:scriptmanager>
    <div>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    <asp:PlaceHolder ID="Place1" runat="server"></asp:PlaceHolder>
    </div>
    </form>
</body>
</html>

コードビハインド

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using AjaxControlToolkit;

namespace WebApplication2
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            CalendarExtender myCalExt = new CalendarExtender();
            myCalExt.TargetControlID = "TextBox1";
            Place1.Controls.Add(myCalExt);
        }
    }
}
于 2009-04-23T12:36:08.487 に答える