質問

デフォルトの.NET CheckBoxコントロールはValueプロパティをサポートしていません。入力コントロールはhtml仕様の一部として値をサポートしているため、これは私には奇妙に思えます。

私の質問は、標準のASP .NET CheckBoxおよびCheckBoxListと同様に動作するasp.netのカスタムユーザーコントロールを知っているかどうかです。

役に立ちましたか?

解決 5

値はhtmlではレンダリングされませんが、ビューステートに保存されているようです。そのため、CheckboxList.Items()

のListItemオブジェクトにアクセスしたときに、サーバー側で値を取得できました。

他のヒント

あなたの質問を誤解しているかもしれませんが、一般的なHTMLコントロールも使用できることをご存知ですか?

たとえば、ASPXページを作成し、次のソースを追加します。

    <div>
            <input type="checkbox" runat="server" id="chkBox" value="test" />
            <asp:Label ID="lblCheckboxValue" runat="server" />
    </div>

    <asp:Button runat="server" OnClick="Button_Click" />

次に、コードビハインドで次のコードを追加します。

protected void Button_Click(object sender, EventArgs e)
        {
            if (chkBox.Checked)
                lblCheckboxValue.Text = chkBox.Value;
            else
                lblCheckboxValue.Text = "";

        }

htmlチェックボックスのvalueプロパティを任意に設定できます。

サーバー側でのみアクセスする必要がある場合は、チェックボックスコントロールを継承するサーバーコントロールを簡単に作成し、値と呼ばれるプロパティをサーバー側から設定および取得できるプロパティに追加できます。

ただし、クライアント側からアクセスする必要がある場合は、サーバーコントロールがレンダリングするものを想像する必要があります-おそらく、チェックボックスと非表示フィールドの組み合わせで、非表示フィールドに値が含まれます。

サーバー側でチェックボックスの値を抽出するだけなら、チェックボックスコントロールの単純な拡張で十分だと思います-サーバーから設定および取得できる追加のプロパティを追加しますサイド...公園を散歩。

いいえ、同じではありません

作業中の機能では、製品のアップグレードのリストをCheckBoxのリストとして表示する必要があります。どのチェックボックスが<!> quot; checked <!> quot;に基づいているかそれらを製品に追加する必要があります。 CheckBoxListの項目は動的であるため、チェックされた項目を反復処理するとき、何らかの一意の識別子が必要です。 <!> quot;チェック済み<!> quot;値はブール値のみです

ここでMSが行ったのは、ASPコントロールが.net感覚で作成されたことです。ただし、ブラウザで動作するはずなので、標準のHTMLコントロールとしてレンダリングします。

したがって、コードビハインドcs / vbには.Checked(bool)が表示されますが、client / javascriptには.valueが表示されます。

一意の識別子が必要な場合は、IDまたはClientIDを確認する必要があります。または、属性をチェックボックス(.Attributes.Add())に追加して使用することもできます。

CheckBoxをオーバーライドして、独自のカスタムコントロールを作成できます。これは、サーバーおよびクライアント側で使用可能なValueプロパティを追加するために作成した例です。

public class ValueCheckBox : CheckBox
{
    public string Value
    {
        get;
        set;
    }

    protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
        writer.AddAttribute("value", this.Value);
        base.Render(writer);
    }
}

これは古い質問ですが、状況は変わりました。まず、asp.net 4.6では、value属性がチェックボックスに設定されます。 ListBoxクラスを使用してチェックボックスを生成するCheckBoxListに関連する回答はほとんどありません。

4.6より前の私のソリューションは、データ属性を追加することです。これにより、javascriptで検索できるチェックボックスとラベルの周りに<span>コントロールが作成されます。

        foreach( ListItem item in selCheckList.Items)
        {
            item.Attributes["data-role-id"] = item.Value;
        }

<!> quot;チェックされていない<!> quot; <!> quot; Value <!> quot;?

と同じ

http://www.w3schools.com/aspnet/control_checkbox.asp

そこを見てください。 <!> quot; Checked <!> quot;という理由で、特に<!> quot; Value <!> quot;という名前のプロパティは必要ありません。同じ情報を提供します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top