簡體   English   中英

在客戶端分配的ASP TextBox值未出現在回發中

[英]ASP TextBox value assigned in client side not appearing in postback

我正在使用ajax和jquery從數據庫中獲取數據,以使用一些值填充文本框。 問題是每當回發發生時,jquery分配的所有數據都會丟失。 我已經嘗試了幾乎所有東西。

我已經從文本框中刪除了ReadOnly =“ true”屬性。

我不想使用“隱藏字段”,因為單頁中幾乎有20-25個文本框。 還有其他方法可以做到這一點。

jQuery代碼

 $.ajax({
                type: "POST",
                url: 'Services/Customer.asmx/GetCustomerDetails',
                dataType: "json",
                data: JSON.stringify({ branchCode: BranchCode, customerCode: CustomerCode }),
                contentType: "application/json; charset=utf-8",
                success: function (returnedData) {
                    debugger;
                    var data = returnedData.d;
                    $("#txt_CustName").val(data[0].customerName);
                    $("#txt_AddressCust").val(data[0].address1);
                    $("#txt_AddressCust1").val(data[0].address2);
                    $("#txt_CityCust").val(data[0].City);
                    $("#txt_PinCodeCust").val(data[0].pinCode);
                    $("#txt_EmailCust").val(data[0].email);
                    $("#txt_MobileCust").val(data[0].mobile);
                    $("#txt_ContactPersonCust").val(data[0].contactPerson);
                    $("#txt_GSTNCust").val(data[0].GSTN);
                    $("#hdn_CustomerGroup").val(data[0].customerGroup);
                }

請給我建議任何解決方案...

從客戶端設置時,該值將在每次回發時重置。

以下是您可以執行類似操作的方式,

.ASPX

$(document).ready(function () {
    $("#traveller_phone").val("9898948484");
});

<input type="text" class="form-control" name="traveller_phone" id="traveller_phone" />
<asp:Button ID="ClickMe" Text="click me" runat="server" OnClick="ClickMe_Click" />

C#:

protected void ClickMe_Click(object sender, EventArgs e)
{
     string phone = Request.Form["traveller_phone"];
}

asp.net文本框控件使用屬性ClientIDMode =“ Static”

解決了您的問題,請嘗試此。

嘗試下面的代碼。

的.aspx

 <script type="text/javascript">

        $(document).ready(function () {
            $("#txt_name").val("Cory");
        });

    </script>
<body>
    <form id="form1" runat="server">
        <asp:UpdatePanel ID="UpdatePanelLossHistory" runat="server">
            <ContentTemplate>
                <asp:ScriptManager ID="ScriptManager1" runat="server">
                </asp:ScriptManager>
                <div>
                    <input type="text" runat="server" name="txt_name" id="txt_name" />                   
                    <asp:Button runat="server" ID="Button1" Text="Submit"  OnClick="Button1_Click" />
                     <asp:Button runat="server" ID="Button2" Text="DummyPostback"  />
                </div>
            </ContentTemplate>
        </asp:UpdatePanel>
    </form>

</body>

C#:

protected void Button1_Click(object sender, EventArgs e)
    {
        string txtName = Request.Form["txt_name"];
    }

有兩個按鈕,一個用於提交,第二個用於虛擬回發命中。 現在,如果您單擊“虛擬”按鈕,並且您修改名稱並單擊“提交”,則該值將不會丟失。 我希望這有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM