我正在尝试将以下asp dropdowlist转换为telerik mvc dropdownlist。 我正在使用SQL存储过程来填充列表。
<asp:DropDownList ID="userName" name="userName" runat="server" DataSourceID="SqlDataSource1"
DataTextField="FullName" DataValueField="UserName">
</asp:DropDownList>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:HHNConnectionString %>"
SelectCommand="GetUserName" SelectCommandType="StoredProcedure"></asp:SqlDataSource>
提前致谢。
答案 0 :(得分:0)
combobox是我想要的。您是否在询问如何使用Telerik控件重写控件?
好吧,首先,您不要使用MVC控件指定存储过程。你想要在你的viewmodel上传递它。无论您使用什么进行数据库连接,都将负责调用存储过程。
// Controller method
public ActionResult MyAction()
{
// Pull user names from the database
var users = _repository.FindAllUsers().Select(u => u.UserName);
return View(users);
}
然后你的观点看起来像这样:
@model IEnumerable<string>
@(Html.Telerik().DropDownList()
.Name("userName")
)
如果您有预先选择的用户名,那么您将需要创建一个实际的viewmodel类:
public MyViewModel
{
public string UserName { get; set;}
public IEnumerable<string> UserList { get; set; }
}
然后您可以使用@(Html.Telerik().DropDownListFor(m => m.UserName))
方法。