Значение ASP TextBox, назначенное на стороне клиента, не отображается в обратной передаче - PullRequest
0 голосов
/ 20 ноября 2018

Я выбираю данные из базы данных, используя 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);
                }

Пожалуйста, предложите мне любое решение ...

Ответы [ 3 ]

0 голосов
/ 20 ноября 2018

атрибут использования элемента управления текстовым полем asp.net ClientIDMode = "Static" .

Решил вашу проблему попробуйте это.

0 голосов
/ 20 ноября 2018

попробуйте ниже код.

.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"];
    }

Есть две кнопки, одна для отправки и вторая для фиктивного обратного удара,Теперь значение не будет потеряно, если вы нажмете на кнопку «фиктивная», а если вы измените имя и нажмете «отправить», вы получите измененное имя.Надеюсь, это поможет.

0 голосов
/ 20 ноября 2018

Значение будет сбрасываться при каждой обратной передаче, если оно установлено со стороны клиента.

Ниже описано, как вы можете сделать что-то вроде:

.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"];
}
...