文本框值未保存在数据库中

时间:2013-06-18 08:44:16

标签: javascript jquery asp.net textbox

这是我的标记代码:

<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);

我通过使用隐藏字段解决了这个问题...我将代码作为参考。

1 个答案:

答案 0 :(得分: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);
    }

希望这有帮助!