0

我正在尝试使用带有 Ajax 数据源的 dojo 组合框。我所拥有的是

<div dojoType="dojo.data.ItemFileReadStore" 
     jsId="tags" 
     url="<%=ResolveClientUrl("~/Tag/TagMatches")%>" >
</div>
<select dojoType="dijit.form.ComboBox" 
        store="tags" 
        value="" 
        name="tagName">
</select>

除了我不能限制服务器端的搜索集之外,这确实有效,因为我不知道如何更改从中提取数据的 url 以指定参数。有什么提示吗?

4

2 回答 2

1

如果我理解正确,您希望客户端根据其他地方定义的一般条件从服务器加载不同的数据集。

基本上不需要<div>预先定义。您也可以ItemFileReadStore直接在 JavaScript 中创建:

早些时候...:

var tagMatchUrlBase = '<%=ResolveClientUrl("~/Tag/TagMatches")%>';

之后...:

var tagMatchUrl = tagMatchUrlBase + "?f=" + escape(somefilterString);
var store = new dojo.data.ItemFileReadStore({url: tagMatchUrl});
tagName.store = store;
// maybe use store.fetch() to pre-select item #1
于 2008-11-07T07:29:58.863 回答
0

通常这不是通过 ItemFileReadStore 完成的,它旨在预先下载所有数据,而不是在服务器上进行过滤。

相反,您应该使用QueryReadStoreJsonReadStore等。

于 2008-12-09T09:59:56.467 回答