我想創建自動完成文本框。但它會有點不同。讓我解釋一下。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