2015-06-15 2 views
0

У меня есть @ Html.DropDownList, что мне нужно, чтобы его текст и значение менялись в зависимости от предыдущего выбора.Population @ Html.DropDownList's Text and Value

if ($(data.agt.CoAgentMLSAID != null) == "True") { 
$("#SelectedAgent").html("{0}, {1}", data.agt.CoAgentLastName, 
data.agt.CoAgentFirstName); 
} 

Я также попытался это:

$document.getElementById("#SelectedAgent").text = ("{0}, {1}", data.agt.CoAgentLastName, data.agt.CoAgentFirstName); 

вместо другого выше. Не работает

И у меня есть это:

@Html.DropDownList("SelectedAgent", this.Model.OfficeAgents, new { @class = "fl-space2", @id ="SelectedAgent" }) 

Что я получаю это значение по умолчанию, а не значение имен на основе прочь, если заявление выше. Как я могу это изменить? Текст по умолчанию находится в модели.

Я не очень силен с jQuery, поэтому я ставлю, что это что-то быстрое. Заранее спасибо

ответ

1

Попробуйте следующий код: Создать вид модели, как показано ниже:

public class ViewModel{ 

    public List<SelectListItem> OfficeAgents {get; set} 
    public string SelectedAgent {get; set} 

    public MyViewModel(){ 
     OfficeAgents = new List<SelectListItem>(); 
     SelectedAgent = "ABC"; //default values go here 
    } 

} 

Отправить эту точку зрения модели ур зрения:

public ActionResult Index() 
{ 

    ViewModel model = new ViewModel(); 

    //do query and set agents data to model.OfficeAgents and set default agent data 

    model.SelectedAgent = "Agent1"; 

    //Pass it to the view 
    return ActionResult(model); 
} 

Установить ур модель для DropDownList в виду:

@Html.DropDownList("SelectedAgent", this.Model.OfficeAgents, this.Model.SelectedAgent, new { @class = "fl-space2", @id ="SelectedAgent" })