我有兩個模型叫做頻道和節目..在顯示頻道的下拉菜單中,我想要的是當我選擇任何頻道時,視圖將顯示特定頻道的節目。問題是,當我選擇任何通道時,它將通道的值返回給控制器,並應用過濾邏輯並將數據傳遞給新的視圖。雖然視圖在瀏覽器上正確執行所有值,但它不可見。任何幫助將不勝感激。在mvc中有一些問題的下拉列表
查看代碼:
@model SitefinityWebApp.Mvc.Models.Channel
@Html.DropDownListFor(m => m.Title, Model.Items, "Select Channel-", new { @id = "ddl" })
<div id="myddl">
</div>
<script>
$('#ddl').change(function() {
var selectedValue = $('#ddl').val();
$.post('@Url.Action("GetProgramByChannel", "Channels")', { selection : selectedValue }, function (data) {
});
});
</script>
GetProgramByChannel方法以所選擇的值
public ActionResult GetProgramByChannel(string selection)
{
var model = new ProgramsModel();
return View("ProgramsByChannel", model.GetChildItemsOfChannel(selection));
}
ProgramsByChannelView
@model SitefinityWebApp.Mvc.Models.Channel
<div id="ddl">
@foreach (var item in Model.Programs)
{
@Html.DisplayFor(m => item.Title) <br />
@Html.DisplayFor(m => item.ShortDescription) <br />
@Html.DisplayFor(m => item.LongDescription) <br />
}
</div>
對不起,覆蓋只是錯誤..也可以請你解釋如何更新DOM? –
這是答案的第二部分。一個使用'$ .post' – Shyju
我已經根據你的答案更新了腳本標記..並作了局部視圖..在myddl div中呈現它..但沒有變化 –