У меня есть DropDownList и Textbox на моей странице. DropDownList показать данные из DataBase(Table "List"). Когда я выбираю одну строку в DropDownList, я хочу видеть ее в Textbox, вношу изменения и сохраняю эту строку в DataBase(Table "Text") после нажатия "ОК".

Подскажите пожалуйста, как это сделать?

Код:

Controller.cs:

    public ActionResult Create(Model model)
    {         
        var viewModel = new ISMSViewModel
        {
            Model = new Model(),
        };

        return View(viewModel);

    } 

    [HttpPost]
    public ActionResult Create(Model model, int i)
    {
        try
        {
            sysDB.AddToActives(model);
            sysDB.SaveChanges();

            return RedirectToAction("Browse");

        }
    } 

ListText.ascx:

            <%: Html.EditorFor(model => model.Model, new { Lists = Model.Lists } %>

            <%: Html.Label("List") %>
            <%: Html.DropDownList("ListId", new SelectList(ViewData["Lists"] as IEnumerable, "ListId", "Name", Model.ListId)) %>

            <%: Html.Label("TextBox") %>
            <%: Html.TextBoxFor(model => model.TextBox) %>
            <%: Html.ValidationMessageFor(model => model.TextBox) %>
1
sphinx 18 Мар 2011 в 11:54

1 ответ

Для этого вам нужно написать немного JavaScript.

Обрабатывать событие onchange для раскрывающегося списка

<%: Html.DropDownList("ListId", new SelectList(ViewData["Lists"] as IEnumerable, "ListId", "Name", Model.ListId), new {@onchange="setVal(this)"}) %>

На ваш взгляд внутри блока head

<script type="text/javascript">
function setVal(obj)
{
document.getElementById("TextBox").value=obj.value;
}
</script>
2
ajay_whiz 18 Мар 2011 в 14:52
Спасибо за ответ на мой вопрос, но я не смог реализовать это решение в своем проекте. Не будете ли вы так любезны и дайте мне ссылку на какой-нибудь простой проект с этим решением. Прошу строго не судить, я новичок.
 – 
sphinx
4 Апр 2011 в 09:53
Вы можете дать мне свое решение, и я внесу в него изменения, все в порядке?
 – 
ajay_whiz
4 Апр 2011 в 13:56