Как я даю данные переменных JavaScript из переменных ASP.NET?

Попробуйте что-нибудь подобное вместо этого? Разделите каждый тест, чтобы он был более управляемым. ИМО.

export function validatePassword(password, repeatPassword) {
  // password tests
  const hasUpperCase = /[A-Z]/.test(password)
  const hasLowerCase = /[a-z]/.test(password)
  const hasNumbers = /\d/.test(password)
  const hasSpecial = /\W/.test(password)
  let errors = []

  if (password !== repeatPassword) {
    errors.push('Passwords do not match.')
  }
  if (password.length < 6) {
    errors.push('Password must be at least 6 characters long.')
  }
  if (!hasUpperCase) {
    errors.push('Password must contain at least one uppercase letter.')
  }
  if (!hasLowerCase) {
    errors.push('Password must have at least one lowercase letter.')
  }
  if (!hasNumbers) {
    errors.push('Password must have at least one number.')
  }
  if (!hasSpecial) {
    errors.push('Password must have at least one special character.')
  }

  return errors
}

export default validatePassword;

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

26
задан bluish 25 January 2012 в 16:22
поделиться

7 ответов

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

 <script type="text/javascript">
     var userID = '<%= UserID %>';
     var courseID = '<%= CourseID %>';

     .... more stuff....
 </script>

Затем устанавливает значения на Page_Load (или в Page_Load для основной страницы).

  public void Page_Load( object source, EventArgs e )
  {

        UserID = Session["userID"];
        CourseID = Session["courseID"];
        ...
  }
44
ответ дан tvanfosson 28 November 2019 в 06:26
поделиться

Все ответы здесь, которые предлагают что-то как

var userID = '<%= UserID %>';

, все пропускают что-то важное, если переменная, Вы встраиваетесь, может содержать данные произвольной строки. Данных встроенной строки нужно оставить так, чтобы, если они содержат обратные косые черты, кавычки или непечатные символы, они не вызывали Ваш JavaScript к ошибке.

у Rick Strahl есть некоторые предложения для кода выхода, необходимого здесь . С помощью кода Rick встроенная переменная будет похожа на это:

var userId = <%= EncodeJsString(UserID) %>;

Примечание, что нет никаких кавычек теперь, код Rick, переносит завершенную строку с кавычками.

8
ответ дан andynormancx 28 November 2019 в 06:26
поделиться

Эта статья описывает самое прагматическое решение несколько прагматических решений Вашей проблемы.

5
ответ дан Andrew Hare 28 November 2019 в 06:26
поделиться

Вот шаги, которые необходимо будет сделать:

В Вашем коде позади страницы:

private int _userId;
private int _courseId;
protected int CourseId
{
  get { return _courseId;}
  set { _courseId = value;}
}
protected int UserId
{
 get { return _userId;}

set { _userId = value;}
}

Шаг 2: на основе Вашего требования теперь необходимо настроить те свойства. Выгода - то, что эти свойства должны быть установлены, прежде чем на них сошлются от JavaScript. Возможно, что-то вроде этого в Page_Load событие:

_userId = Session["userId"];
_courseId = Request.QueryString["CourseId"] != null ? Request.QueryString["CourseId"] : String.empty;

, Конечно, можно проанализировать их к соответствующим типам на основе требований.

Наконец, можно сослаться на них в JavaScript следующим образом:

var currentUserId = '<% = UserId %>';
var currentCouseId = '<% = CourseId %>';

Это должно определенно работать. Я много раз использовал этот подход.

4
ответ дан Jason Plank 28 November 2019 в 06:26
поделиться

Можно также использовать cookie HTTP. Тот подход хорош, если необходимо передать, оценивает другое направление также.

0
ответ дан nshaw 28 November 2019 в 06:26
поделиться

Я не уверен в SCORM или .ashx файлах (никакой опыт там), но до получения значений с ASP.NET, можно сделать все виды вещей как

var xyz = '<%= variable %>';

из страницы ASP.NET. Существуют различные способы выполнить это, но конечный результат состоит в том, что страница ASP.NET представляет значения переменной в HTML (или JavaScript), который отправляется в браузер.

Это - универсальный ASP.NET и ответ JavaScript, может быть более изящное решение там для Вас.

0
ответ дан bluish 28 November 2019 в 06:26
поделиться

Я делаю то же самое. Я просто передаю любые значения, которые мне могут понадобиться при инициализации, и тому подобное в конструкторе объекта API. Я не видел никаких требований относительно того, как может быть создан объект API, только как он расположен в коде SCO.

0
ответ дан 28 November 2019 в 06:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: