【问题标题】:AJAX C# AutoCompleteExtender contextKeyAJAX C# AutoCompleteExtender contextKey
【发布时间】:2009-09-17 18:27:46
【问题描述】:

如何将参数/控件动态传递给 contextKey?

<asp:TextBox ID="tbA" runat="server" autocomplete="off"></asp:TextBox> 
<asp:TextBox ID="tbB" runat="server">hello</asp:TextBox> 
<asp:TextBox ID="tbC" runat="server">world</asp:TextBox>

<cc1:AutoCompleteExtender ID="aceListA" ServiceMethod="myListServiceA" ServicePath="WebService.asmx" TargetControlID="tbA" runat="server" EnableCaching="true" UseContextKey="true"> </cc1:AutoCompleteExtender>

  [WebMethod]
   public string[] myListServiceA(string prefixText, int count, string contextKey)

因为我想在 Web 服务级别检查 tbB、tbC。 我已经阅读了这个article 5 次,但仍然没有任何意义,每一半都缺少完整的代码。

【问题讨论】:

  • 我认为 web 服务必须检查 tbB、tbC 等不是一个好主意。为什么不创建具有适当名称的重载,每个重载都可以应用于特定情况?
  • 只传递多个参数怎么样?即:listAs?a=hello&b=world,这是典型的ajax 传递。但是我正在尝试在调用 AutoCompleteExtender 之前在 keyContext 中传递它,如果可能的话,您能否发布一个示例。谢谢

标签: ajax autocompleteextender


【解决方案1】:

您可以通过两种方式设置上下文键:

客户端,通过 Javascript:

<script type="text/javascript">
    function SetContextKey()
    {
        $find('auJobs').set_contextKey('moo');
        return;
    }

</script>  `

或 在服务器端 auJobs.ContextKey = "你需要在这里放什么"

特里

【讨论】:

  • 我想说的是,'auJobs' 是你的自动完成扩展器的 ID。您还可以为您的自动完成扩展程序提供一个 BehaviorID 并使用它而不是 id 来查找它。希望这会有所帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-15
相关资源
最近更新 更多