0

以前は AjaxControlToolKit.Dll のアセンブリ バージョン 1.0.10301.0 を使用していたフォームがあり、4.1.7.607 などの新しいバージョンにアップグレードすると、CalendarExtender オブジェクトが機能しなくなり、カレンダー ボタンがドロップ ダウン風の選択オブジェクトを作成しなくなります。私のコードでは何も変更されていません。サード パーティの dll だけが 764KB から 6.5MB に跳ね上がりました。

問題は、同じ ID の画像が複数ある場合 (私は 3 つ持っています)、この問題が発生することです。ソース:画像をクリックしてもカレンダー コントロールがポップアップしない

実際のフォームが動的に作成されるため、CalendarExtender の複数のインスタンスを .ascx で「ハードコーディング」し、.cs で呼び出してこの問題を回避することはできません。たとえば、このdateCalしか持てません。同じ ID の複数のインスタンスを許可する何らかのフラグなど、最新バージョンの Dll にアップグレードできるこの問題を解決する方法はありますか?



コード:

<%@ Control Language="C#" AutoEventWireup="true" CodeFile="DateTb.ascx.cs" Inherits="DateTb" %>
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="ajx" %>
<asp:TextBox ID="dateTb" runat="server" Width="125px" MaxLength="1000"></asp:TextBox>
<asp:image id="dateImg" runat="server" imageurl="~/images/calendar.png" />
<ajx:CalendarExtender ID="dateCal"  runat="server" PopupButtonID="dateImg" TargetControlID="dateTb"></ajx:CalendarExtender>

<asp:CompareValidator id="dateValidator" runat="server" Type="Date" Operator="DataTypeCheck" ControlToValidate="dateTb" ErrorMessage="Please enter a valid date." ValidationGroup="validate"  Text="*" > </asp:CompareValidator>
<asp:RequiredFieldValidator ID="dateRequired" runat="server" ControlToValidate="dateTb" Text="*" ErrorMessage="Please enter a valid date." ValidationGroup="validate"></asp:RequiredFieldValidator>

フォーム プレ DLL 'アップグレード':
正しい
フォーム ポスト DLL 'アップグレード':
ここに画像の説明を入力

4

0 に答える 0