1

ajax コントロール ツールキットの最新リリースで colorpickerextender の対象となるテキスト ボックスを非表示にする方法はありますか?

追加すると

スタイル="表示:なし"
をテキストボックスに追加すると、ブラウザー ウィンドウの左上隅にカラー ピッカーが表示されます。エクステンダー popupbuttonid で参照されているボタンの近くに表示したい。

ユーザーにカラーコードを見せたくないので、テキストボックスを非表示にしたい。

4

2 に答える 2

2

私はそれを隠しませんでしたが、私が望むものを得る別の方法を見つけました. 色が選択されたら、テキスト ボックスからカラー コードを取得して隠しフィールドに格納する JavaScript 関数を呼び出し、テキスト ボックスのテキストをクリアして、最後にテキスト ボックスの背景色を選択した色に設定します。

aspx コードは次のとおりです。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="color.aspx.cs" Inherits="color" %>

<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
<!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>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">
    function ColorSelectionChanged() {
        var txtColorPickerSelector = '#' + txtColorPickerID;
        var ColorCodeSelector = '#' + ColorCodeID;
        var colorCode = '#' + $(txtColorPickerSelector).val();
        $(txtColorPickerSelector).val('').css('background-color', colorCode);
        $(ColorCodeSelector).val(colorCode);
    }        
</script>

</head>
<body>
<form id="form1" runat="server">

<asp:HiddenField ID="ColorCode" runat="server" />

<asp:ScriptManager ID="ScriptManager1" runat="server" />

<asp:TextBox ID="txtColorPicker" runat="server" Width="2em"></asp:TextBox>

<cc1:ColorPickerExtender ID="txtColor_ColorPickerExtender" runat="server" 
    TargetControlID="txtColorPicker"
    OnClientColorSelectionChanged="ColorSelectionChanged" />

&nbsp;<asp:Button ID="btnSubmit" runat="server" OnClick="btnSubmit_Click" Text="Submit" />

<asp:Label ID="lblColorCode" runat="server"></asp:Label>
</form>
</body>
</html>

<script type="text/javascript">
    var txtColorPickerID = '<%=txtColorPicker.ClientID %>';
    var ColorCodeID = '<%=ColorCode.ClientID %>';    
</script>

そして背後にあるコード:

using System;
using System.Drawing;

public partial class color : System.Web.UI.Page
{
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        lblColorCode.Text = ColorCode.Value;
        txtColorPicker.BackColor = ColorTranslator.FromHtml(ColorCode.Value);
    }
}

カラーコードが送信されていることを証明するために、コードをラベルに割り当てるだけです。aspx形式で申し訳ありません。Chrome、IE 6、IE 7、Firefox 3、Opera 9、および Safari 4 でテストおよび動作しています。

于 2009-05-28T17:43:53.777 に答える