0

ここに私のマークアップコードがあります:

<p>
<label>Reference Code:</label>
<span class="field">
<asp:TextBox ID="GenerateCode" runat="server" CssClass="smallinput random" ></asp:TextBox>
<asp:HiddenField ID="txthidden" runat="server" />
<br /><small style="color: red">Please write the code at the back of yours check</small>
</span>
</p>

ここに私のランダム関数があります:

function randomString()
    {
        var chars ="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
        var result = '';
        for (var i = 8; i > 0; --i) result += chars[Math.round(Math.random() * (chars.length - 1))];
        return result;
    }

テキストボックスにランダムに表示する方法は次のとおりです。

    function generateRandomNumber() {
            var rndStr = randomString();
            $("#<%=GenerateCode.ClientID%>").val(rndStr);
            $("#<%=txthidden.ClientID%>").val(rndStr);

        }

    window.onload = function () {
        generateRandomNumber();
    }

データベースに保存する方法は次のとおりです。

 string EchequeMaster = ClassEmailCheque.InsertEmailCheque(SenderID, Convert.ToInt32(ddlCurrency.SelectedIndex), Convert.ToDecimal(Amount.Text), ChequeNumber.Text, GenerateCode.Text, PendingStatus, DateTime.Now);

隠しフィールドを使用してこれを解決しました...参照用にコードを更新しました。

4

1 に答える 1

0

無効になっているテキストボックス (プロパティEnabled = false) は、値をポストバックしません。解決策は、無効化されたテキスト ボックス (ユーザーに値を表示するため) と、値をポストバックする隠しフィールドの両方を用意することです。コードを次のように書き直すことができます。

<asp:TextBox ID="txtGenerateCode" runat="server" CssClass="smallinput random" />
<asp:HiddenField ID="hdnGenerateCode" runat="server" class="random" />

function generateRandomNumber() {
        var rndStr = randomString();
        $(".random").val(rndStr);
    }

お役に立てれば!

于 2013-06-18T09:06:51.117 に答える