1

必要なバリデーターが添付された読み取り専用のテキストボックスがあります。このテキストボックスは、他のコントロールを使用してのみ入力できます。

問題は、読み取り専用のテキストボックスが値を保存せず、ポストバックで復元しないことです。これにより、ポストバックがあるたびにバリデーターが燃え上がります。強制的に値を保存する方法があることは知っていますが、実際には保存したくありません。

これを過ぎたものはありますか?

編集:これは問題を引き起こしているコントロールです:

            <li class="fakeUploadLi">
                <asp:Label CssClass="lbl" ID="lb" runat="server" Text="Image:"></asp:Label>
                <div class="fakeupload">
                    <asp:TextBox runat="server" ID="tbFakeupload" Enabled="false" />
                </div>
                <asp:FileUpload ID="fuImage" runat="server" CssClass="fileUpload" onchange="this.form.ctl00$cphAdmin$tbFakeupload.value = this.value;" />
                <asp:RequiredFieldValidator ValidationGroup="newImage" runat="server" ControlToValidate="tbFakeupload"
                    ErrorMessage="Please select an image first.">*</asp:RequiredFieldValidator>
            </li>

これは、元の FileUpload html コントロールのオーバーレイです。読み取り専用をオフにする (または有効にして両方を試した) と、問題は解決することに注意してください。

4

2 に答える 2

3

これを試して:

protected void Page_Load(object sender, EventArgs e)
{
 TextBox1.Attributes.Add("readonly", "readonly");
}

http://www.codeproject.com/Articles/33649/ViewState-and-Readonly-Property-of-Textbox

于 2012-06-07T20:08:48.920 に答える
0

readonlyプロパティを次のように変更してみてくださいEnabled = "false"

于 2012-06-07T20:10:19.713 に答える