Передача параметров между views-MVC-3-Not TempData Approach - PullRequest
0 голосов
/ 09 июня 2011

У меня есть раскрывающийся список в одном представлении, я должен использовать выбранное значение этого раскрывающегося списка в другом представлении.

Я не хочу использовать подход Tempdata, так как это не лучшая практика.

Есть ли лучший подход для этого.

Пожалуйста, дайте наилучшее практическое решение.

Спасибо Хари

1 Ответ

0 голосов
/ 09 июня 2011

Я могу изменить это, если вы предоставите мне более широкую картину (читай: больше кода) того, что уже есть в ваших взглядах

Первый просмотр (ваш List<SelectListItem>, вероятно, будет отличаться)

@using (Html.BeginForm("Step2", "Silly")) {
    @Html.DropDownList("NameOfDropDown", new List<SelectListItem>()
    {
        new SelectListItem()
        {
            Text = "Label 1",
            Value = "1"
        },
        new SelectListItem()
        {
            Text = "Label 2",
            Value = "2"
        }
    })
    <input type="submit" value="Submit" />
}

Тогда в контроллере

public class SillyController : Controller
{
    [HttpPost]
    public ActionResult Step2(string NameOfDropDown)
    {
        // if the only value being passed is a string, you'll need
        // to wrap it in something like a view model class
        return View(new Step2ViewModel() { MyValue = NameOfDropDown });
    }
}

public class Step2ViewModel()
{
    public string MyValue { get; set; }
}

А во втором представлении Step2.cshtml (при условии Razor)

@model Yournamespace.Step2ViewModel

<div>@Model.MyValue</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...