dojo组合框源的动态URL

时间:2008-11-07 05:49:49

标签: javascript dojo

我正在尝试使用带有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以指定参数。任何提示?

2 个答案:

答案 0 :(得分:1)

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

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

...较早:

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

答案 1 :(得分:0)

通常情况下,这不是使用ItemFileReadStore完成的,它设计为预先下载所有数据而不是在服务器上进行过滤。

相反,您应该使用QueryReadStoreJsonReadStore