2010-11-02 2 views
2

Я пытаюсь передать параметры во всплывающее окно через строку запроса (скрытое поле id & - идентификатор текстового поля). Однако, поскольку я использую мастер-страницы, идентификаторы очень длинные (ct100_someid). Есть ли способ элегантно передать мои идентификаторы? Могу ли я сократить свой идентификатор или не показать их пользователю вообще? Скажите, пожалуйста, какие-нибудь заместители.Передача параметров во всплывающее окно?

+0

, как вы будете использовать идентификаторы на всплывающие окна? поместить какое-то значение в эти поля или прочитать что-то от них? – TheVillageIdiot

+0

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

ответ

2

можно определить на родительской странице, к которой можно получить доступ всплывающим окном для установки значений fiedls:

На родительской странице

function setHiddenValues(a,b,c){ 
    document.getElementById("<%= hiddenField1.ClientID%>").value = a; 
    document.getElementById("<%= hiddenField2.ClientID%>").value = b; 
    document.getElementById("<%= hiddenField3.ClientID%>").value = c; 
} 

На всплывающей странице, после того, как пользователь выбирает строку:

parent.setHiddenValues(val1, val2, val3); 
+0

Это хорошая работа. –

2

Мне нравится зашифровывать запрос, чтобы любопытный пользователь не захотел заменить ?CustID=1&etc на ?CustID=2&etc. Это просто для удобства, так как я также проверяю код, чтобы убедиться, что клиент, просматривающий страницу, прошел аутентификацию, но IMHO выглядит более профессионально. См. here для примера в vb.net.

Чтобы передать более короткое имя, которое вы также можете использовать JQuery для выбора скрытого поля, используя идентификатор атрибута, а не весь идентификатор клиента,

например: <asp:net HiddenField id="hdnName" runat="server" />

var hiddenfield = $("element[id$=_hdnName]");

+0

Возможно, это не мое требование, но объяснение и подход очень информативны. +1 –