【问题标题】:ASP.NET - Ajax requests with jQueryASP.NET - 使用 jQuery 的 Ajax 请求
【发布时间】:2008-12-18 02:56:58
【问题描述】:

我有这个文本框,它使用 jQuery 触发 ajax 请求:

<asp:TextBox ID="postcodeTextBox" runat="server" Text='<%# Bind("POSTAL_ZIP_CODE") %>'>

$(document).ready(PageLoad);

function PageLoad() {
    $(container + 'parentProjectTextBox').change(GetProjectName);
}

function GetProjectName() {
    var projectNumber = $(this).val();
    if (projectNumber == '') return;
    $(container + 'parentProjectPanel').block({ message: '<img src="../Resources/RadControls/Ajax/Skins/Default/loading7.gif" />' });
    $.ajax({
        type: 'POST',
        url: projectMasterWebServicesUrl + 'GetProjectName',
        data: "{'projectNumber':'" + projectNumber + "'}",
        contentType: 'application/json; charset=utf-8',
        dataType: 'json',
        success: GetProjectNameOnSuccess,
        error: GetProjectNameOnError
    });
}

这个 ajax 请求获取一个列表来填充这个下拉列表:

                        <asp:DropDownList ID="cityDropDownList" runat="server" OnDataBound="cityDropDownList_DataBound">
                            <asp:ListItem Text="...Select..." Value="0">
                            </asp:ListItem>
                        </asp:DropDownList>

一切正常。我遇到的唯一问题是,当我更新我的 formView 以保存该记录时,我看不到设置为该下拉列表的值。当我在客户端填充这个下拉列表时,我假设 ASP.NET 失去了对它的跟踪......

有人有什么见解吗?

显然,当我打开/关闭该页面的 EnableEventValidation 属性时,我有时会得到正确的值.....

谢谢!

【问题讨论】:

    标签: asp.net jquery ajax formview


    【解决方案1】:

    您应该创建一个隐藏字段来存储该值。在您的 Javascript 中更新该 HiddenField,然后在服务器端读取它。此外,如果您有 EventValidation=true 并更改下拉列表中的项目,您将获得众所周知的异常。

    【讨论】:

    • 是的,我想过,但我只在调试时遇到这些异常......当我将我的应用程序部署到我们的测试环境时,这些异常永远不会发生!!!!!!
    • 即使我有 EventValidation=true
    【解决方案2】:

    这可能不是问题...但是您是否在 Page_Load 中检查 Page.IsPostBack?

    我犯过这样的错误太多次了。

    如果您正在从 Page_Load 加载该下拉控件,并且您没有检查 if (!Page.IsPostback) 您将重新加载控件。然后,当您从下拉列表中获取值时...该值消失了,因为您重新加载了下拉列表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-04-22
      • 2016-10-14
      • 2015-02-27
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      相关资源
      最近更新 更多