【问题标题】:Calling a server side function using a Javascript使用 Javascript 调用服务器端函数
【发布时间】:2012-03-28 13:09:43
【问题描述】:

当在 ASP 下拉框中选择项目时,我需要调用服务器端函数。 有人可以告诉我该怎么做吗?

【问题讨论】:

  • 只需将AutoPostBack="True" 添加到下拉标记并添加OnChange="YourMethodHere"
  • 这个问题太笼统了;您实际上是在要求描述 .NET Web 方法和 AJAX。谷歌搜索那些。如果您有与实现和调用此类方法相关的具体问题,请回来询问,但要提供更多细节,包括一些代码。
  • @ShadowWizard 那太早了 2000 年代。我认为我们可以做得更好。 :-) 此外,他确实说过“使用 [原文] javascript。”
  • @tvanfosson 如果他能应付完整的帖子,那为什么不呢?您不必每年都购买全新的汽车。

标签: javascript jquery asp.net .net jquery-events


【解决方案1】:

在 ASP.NET 中使用下拉选择索引更改事件。或者,对于客户端事件,您可以使用 JQuery,然后使用以下 JavaScript 函数联系服务器:

function CallServer() {
    $.ajax({
        url: 'webserviceURL',
        type: "POST",
        datatype: "json",
        success: function (result) {
            if (result.Success) {

            } else {

            }
        }
    });
}

【讨论】:

  • thanx 哥们,我居然忘了提 JS 部分,我需要使用 JS 调用服务器端函数而不回发表单...
【解决方案2】:

设置

ddl.autopostback = true ;

然后开火selectedindexchange event

【讨论】:

  • ...但这不使用“a [sic] javascript”
  • @tvanfosson:虽然这实际上在背景中使用了 javascript,但我告诉你这可能不是他试图问的。
  • @ClaudioRedi - 是的,我假设他打算“使用我编写的一些 javascript”
  • 如果您不想回发,您不认为使用更新面板来实现您的目标使用尽可能多,这样您就可以加快您的网络应用程序并保存数据更可行运输量,并为此 ddl 以及您不想更新数据的网页部分使用更新面板。
【解决方案3】:

向您的项目添加一个 Web 服务,并让它在客户端执行操作/返回您需要的数据。然后在需要时使用 AJAX(或 JQUERY AJAX)调用此服务。

【讨论】:

    【解决方案4】:

    你可以这样做:

    aspx

    <asp:DropDownList ID="ddl" runat="server" AutoPostBack="true" 
    OnSelectedIndexChanged="ddl_SelectedIndexChanged"></asp:DropDownList>
    

    CS

    protected void ddl_SelectedIndexChanged(Object sender, EventArgs e) 
    {
        //call your function
    }
    

    【讨论】:

    • 严格来说这不符合使用(非框架)javascript的要求。
    • 是否需要绑定某种语言 Visual Studio 和其他 IDE 自己处理所有这些东西,如果你把这个 ddl 放到 Updatepanel 中你不需要做,他们会用 ajax 调用 javascript所以
    猜你喜欢
    • 1970-01-01
    • 2018-10-19
    • 2011-12-09
    • 2011-03-13
    • 2011-05-17
    • 2016-01-15
    • 2019-05-22
    • 2010-11-03
    • 1970-01-01
    相关资源
    最近更新 更多