Какая работа необходима для предварительного заполнения значений формы ввода с использованием URL / строк запроса?

#forms #http #query-string

#формы #http #строка запроса

Вопрос:

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

Я понимаю, что вы можете использовать строки запроса в URL для заполнения полей в форме. Я пытался использовать mywebsite.com/page/?FirstName=Jane но это не заполнение полей ввода. Этот метод кажется идеальным, но я предполагаю, что может потребоваться некоторая работа на отдельном веб-сайте, чтобы заставить это работать.

И мой портал, и другой веб-сайт построены с asp.net mvc.

Кто-нибудь может подтвердить, может ли передача параметров сойти с рук без изменения другого веб-сайта?

Комментарии:

1. Вы можете использовать ajax для получения данных и использовать скрипт для заполнения данных в форме

Ответ №1:

Прошло некоторое время с тех пор, как я делал mvc.

если вы хотите связать с mywebsite.com/page/?FirstName=Jane

Предполагая, что у вас есть контроль над страницей, на которую вы ссылаетесь, страница, на которую вы ссылаетесь, должна иметь значение 1. В модели должно быть FirstName

 public class SomeModel
{
        [Required]
        [Display(Name = "First name")]
        public string FirstName { get; set; }
}
  
  1. Контроллер должен заполнить его из этой строки запроса

    общедоступный индекс ActionResult (SomeModel model) { возвращает представление (модель); }

  2. Представление должно использовать это

@Сайт модели.Модели.SomeModel

 @Html.TextBoxFor(m => m.FirstName, new { @class = "form-control" })
  

Комментарии:

1. Спасибо за это, это имеет смысл. Знаете ли вы, есть ли способ заполнить эти поля ввода формы без внесения изменений в другой веб-сайт? Это будет сложно изменить и повторно развернуть.

2. если вы пытаетесь получить доступ к внешнему веб-сайту … вы, вероятно, очень ограничены. Если они находятся в одном домене (что, как я подозреваю, маловероятно), вы могли бы сделать это с помощью java script, но в противном случае в javascript есть функции безопасности, специально предназначенные для блокирования вас от выполнения того, что вы просите