Nano Hash - криптовалюты, майнинг, программирование

Установите выбранное значение @Html.DropDownList в значение Querystring или нет

У меня есть типичное действие Create, которое было сгенерировано с помощью строительных лесов в MVC 4. Ничего особенного. Обычно я попадаю на эту страницу по следующему URL-адресу /RecipeLines/Create, и когда я создаю эту конкретную запись, у меня есть раскрывающийся список, который я изменил, чтобы получить идентификатор рецепта при отправке:

    <div class="editor-label">
        @Html.LabelFor(model => model.RecipeID, "Recipe")
    </div>
    <div class="editor-field">
        @Html.DropDownList("RecipeID", (SelectList)ViewBag.RecipeID, string.Empty)
        @Html.ValidationMessageFor(model => model.RecipeID)
    </div>

Я хотел бы сделать ссылку на страницу создания, передав идентификатор рецепта, который будет выглядеть примерно так:

/RecipeLines/Create/2

Я отредактировал @Html.DropDownList, чтобы либо принять параметр, и НАДЕЮСЬ выбрать правильный RecipeID, либо если он связан без строки запроса

/RecipeLines/Create

тогда у него не было бы выбранного значения.

Вот мой Create Action как есть.

    // GET: /RecipeLines/Create

    public ActionResult Create(int? recipeID)
    {
        ViewBag.MeasurementID = new SelectList(db.Measurements, "MeasurementID", "MeasurementEn");
        ViewBag.RecipeID = new SelectList(db.Recipes, "RecipeID", "RecipeNameEn", recipeID);
        ViewBag.IngredientID = new SelectList(db.Ingredients, "IngredientID", "IngredientNameEn");
                return View();
    }

Мои 2 @Html.ActionLink(s) выглядят так:

    //Coming from the Recipe Page        
    @Html.ActionLink("+", "Create", "RecipeLines", new { recipeID = recipe.RecipeID }, null);

    //Coming from the RecipeLines/Index page
    @Html.ActionLink("Create New", "Create")

THIS PROBLEM HAS BEEN SOLVED AND THE ABOVE CODE NOW WORKS


  • Исправление, я передаю не строку запроса, а просто параметр, равный RecipeID. Извините за путаницу, но любой способ будет работать, я просто хочу иметь возможность выбрать значение этого раскрывающегося списка рецептов, если URL-адрес содержит какой-либо тип строки запроса ИЛИ параметр. 09.12.2013

Ответы:


1

Попробуйте код ниже:

Создать действие

public ActionResult Create(int? recipeId)
{
    ViewBag.RecipeID = new SelectList(db.Recipes, "RecipeID", "RecipeNameEn",recipeId);

     //
    return View();
 }

Просмотреть

  @Html.DropDownList("RecipeID", (SelectList)ViewBag.RecipeID,string.Empty)

ActionLink

@Html.ActionLink("+", "Create", "RecipeLines", new { recipeId= recipe.RecipeID }, null);

@Html.ActionLink("Create New", "Create")
09.12.2013
  • Это просто избавилось от <option value=""></option> в начале списка 10.12.2013
  • Знаешь что, подожди, я мог что-то пропустить 10.12.2013
  • привет @EricB, пожалуйста, проверьте, правильно ли вы указали значение recipeId, потому что это работает для меня. 10.12.2013
  • Если вы используете ActionLink для вызова действия Create, оно должно выглядеть так: @Html.ActionLink(с id, Create, YourController, new { recipeId = 2 }, null) или @Html.ActionLink(без id, Дом) 10.12.2013
  • Я обновил весь свой код в своем вопросе, чтобы отразить внесенные мной изменения. Он по-прежнему не выбирает правильный рецепт в раскрывающемся списке. И я согласен, я думаю, что это должно работать. Может мы что-то не так перегружаем? 10.12.2013
  • привет @EricB, здесь @Html.ActionLink(+, Create, RecipeLines, new {id = recipe.RecipeID}, null); вам нужно использовать recipeID вместо id. например: @Html.ActionLink(+, Create, RecipeLines, new { recipeID = recipe.RecipeID }, null); 10.12.2013
  • Аааа, я был прав в первый раз, когда вы обновили свой код с recipeID, затем я сделал то же самое и не понял, что Html.ActionLink все еще говорит идентификатор. Я такой глупый. Я ценю вашу помощь и терпение. Теперь он работает нормально. Внимания к деталям у меня не было! ржунимагу 10.12.2013
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

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

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

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

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..