Asp.net mvc 3 将Telerik组合框插入Telerik ASP.Net MVC3网格
我有一个ASP.NET MVC3视图,它有一个Telerik网格,该网格使用viewmodel作为其数据 其中一个要求是,我们需要在其中一个网格列中使用下拉控件,该列从查找表中获取数据 由于MVC3相对较新,我认为由于Razor视图只能使用一个模型指令IE:Asp.net mvc 3 将Telerik组合框插入Telerik ASP.Net MVC3网格,asp.net-mvc-3,telerik,controls,viewmodel,Asp.net Mvc 3,Telerik,Controls,Viewmodel,我有一个ASP.NET MVC3视图,它有一个Telerik网格,该网格使用viewmodel作为其数据 其中一个要求是,我们需要在其中一个网格列中使用下拉控件,该列从查找表中获取数据 由于MVC3相对较新,我认为由于Razor视图只能使用一个模型指令IE: @model IEnumerable<MarketingWebsiteTools.Models.EditableItemInfo> 下拉查找值需要与网格数据一起映射回ViewModel 在这一点上,有必要提及我在ClientT
@model IEnumerable<MarketingWebsiteTools.Models.EditableItemInfo>
下拉查找值需要与网格数据一起映射回ViewModel
在这一点上,有必要提及我在ClientTemplate中使用Html.Telerik.ComboBox,如下所示:
.Columns(columns =>
{
columns.Bound(o => o.ItemNmbr).Width(65);//.ClientTemplate("<label name='ProductIdentifier' />");
columns.Bound(o => o.Description).Width(65)
.ClientTemplate(Html.Telerik().ComboBox()
.Name("Special")
**.BindTo(new SelectList())**
.ToHtmlString());
columns.Bound(o => o.Start_Date).Width(75).Format("{0:d}");
columns.Bound(o => o.End_Date).Width(75).Format("{0:d}");
columns.Bound(o => o.PromotionText).Width(75);
columns.Command(commands => commands.Delete()).Width(125).Title("Delete");
})
我的问题是:关于BindtonNew SelectList,我需要提供System.Collections.Generic.IEnumerable类型的参数,但是我不确定如何从我的viewmodel中获取该参数,或者,我应该以另一种方式获取该查找数据
我看了这个例子:
但是,我的代码或intellisense似乎无法识别任何模型,即:
.bindtone新建SelectListModel
我还看了这个例子:
在控制器中似乎有一个对方法的调用,但同样,无法访问该控制器
提前感谢您的帮助
doug使用模板可以非常轻松地完成。只需使用TempData或ViewBag将数据传递到视图,即可从控制器获取数据
@{
List<AdjustmentReasonCodes> salesAuditReasons = new List<AdjustmentReasonCodes>();
salesAuditReasons = (List<AdjustmentReasonCodes>)TempData["SalesAuditReason"];
}
column.Template(@<select id="@("ddlSalesAuditReason" + @item.CustCode.Replace(" ", "").Replace("-", "").Trim())" class="DropDown">
<option value="0">--Select--</option>
@foreach (AdjustmentReasonCodes adrc in salesAuditReasons)
{
if (item.RefReasonForAuditAdjustment == adrc.ReasonCode)
{
<option value="@(adrc.ReasonCode)" selected="selected">@adrc.ReasonDescription</option>
}
else
{
<option value="@(adrc.ReasonCode)">@adrc.ReasonDescription</option>
}
}
</select>).Title("Audit Reason").Width(135);