Передать параметр в виде текста в функцию JavaScript из кода .NET - PullRequest
0 голосов
/ 23 марта 2010

По сути, у меня есть сетка, которая открывается в новом окне из родительского окна. Он имеет несколько записей с кнопкой просмотра для просмотра деталей каждой записи (которая остается в том же новом окне). У меня есть календарь в родительском окне, который принимает параметр строки запроса Date, чтобы установить текущую дату в календаре при загрузке страницы. Я просто пытаюсь обновить календарь в родительском окне, чтобы он соответствовал дате метки во вновь открытом окне.

Весь код ниже находится во вновь открытом окне. Приведенный ниже код .Net относится к тому, когда нажимается эта кнопка просмотра и все заполняется. В конце я вызываю js, чтобы обновить родительское окно и передать значение LabelScheduleDate в качестве параметра querystring. Теперь метка обозначается как «03/25/2010» в выделенном фрагменте кода, но когда я передаю ее js, в конце строки запроса она обозначается как «0.00005970149253731343». Я не совсем уверен, что вызывает изменение значения, и я хочу передать его как просто текст . Нужно ли передавать его как строковый объект? Я пытался, но я не думаю, что делал все правильно.

Спасибо.

Функция JavaScript

function RefreshParent(inputDate) {
   window.opener.location = window.opener.location + "?Date=" + inputDate;
}

.NET Code-Behind

Protected Sub RadGridOnlineRequests_ItemCommand(ByVal source As Object, ByVal e As Telerik.Web.UI.GridCommandEventArgs) Handles RadGridOnlineRequests.ItemCommand

   If e.CommandName = "ViewOnlineRequest" Then

      ' populates LabelScheduleDate among other controls values
      ScriptManager.RegisterStartupScript( _
         Me, Me.GetType(), "clientScript", "RefreshParent(" & LabelScheduleDate.Text &  ");", True)

   End If

End Sub

1 Ответ

1 голос
/ 23 марта 2010

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

RefreshParent('" & LabelScheduleDate.Text &  "');

Если LabelScheduleDate.Text имеет значение "25.03.2010", это разрешится до

RefreshParent('03/25/2010');

... тогда как ваш код разрешился бы до

RefreshParent(03/25/2010);

... что означало бы, что RefreshParent получает 3, деленное на 25, деленное на 2010.

...