我想创建自动完成文本框。但它会有点不同。让我解释一下。MVC中的自动完成
我在我的util类中有一个静态方法。我填写组合框从那里..如
CS代码在这里
public class MyUtil
{
public static List<ProfessionList> GetProfessionList()
{
var liste= EntityHelper.GetProfessionList(false);
var profList = new List<ProfessionList>();
foreach (KeyValuePair<int, string> profession in liste)
profList.Add(new ProfessionList(){
Profession = profession.Value,
ProfessionID = profession.Key
});
}
return profList;
}
}
公共类ProfessionList { 公众诠释ProfessionID {获得;组; } public string Profession {get;组; }}
和HTML侧
@Html.DropDownList("cmbProfessions", new SelectList(MyUtil.GetProfessionList(),
"ProfessionID", "Profession"))
所以它的工作原理很不错..那么我想用同样的方法在一个文本框自动填充。我不想使用任何AJAX功能之类的..
我的CS代码在这里
public static List<SpecificTagList> GetSpecificTagList()
{
var list = EntityHelper.GetSpecificTagList();
var tagList = new List<SpecificTagList>();
foreach (string s in list)
tagList.Add(new SpecificTagList(){SpecificTag = s});
return tagList;
}
public class SpecificTagList
{
public string SpecificTag { get; set;}
}
和HTML
@Html.TextBox("txtSpecific", new { autocomplete = new
SelectList(MyUtil.GetSpecificTagList(), "SpecificTag", "SpecificTag") })
我知道不工作。因为TextBox(名称,值) 需要一些值..以及如何我可以得到没有任何Ajax函数的列表..?
p.s. :我的工程类没有从控制器派生..只是一个类
感谢您的关注。这里有一个示例http://jqueryui.com/autocomplete/我可以从那里创建这种类型的数组吗?你所说的方式看起来有点奇怪..但它也可能..实际上我想做的最好,你建议我做什么? thanx – ertan2002 2013-02-12 00:43:55
您当然可以使用隐藏控件来实现该代码。显然,你必须修改它,因为链接中的示例在JavaScript代码中声明了正确的列表。您也可以动态生成JavaScript,以便代码包含列表项。这两种方式都应该可以正常工作,但动态生成JavaScript可能会使代码变得更复杂一些。 – 2013-02-12 00:48:05
让我尝试使用一个隐藏的控件:)谢谢你的有用答案.. – ertan2002 2013-02-12 00:50:13