У меня есть подслой в sitecore (который является элементом управления ascx), который содержит скрытое поле и карту изображения.В зависимости от области карты изображения, по которой щелкают, я хочу установить значение скрытого поля, а затем инициировать обратную передачу на сервер.
Моя разметка выглядит следующим образом:
<script type="text/javascript">
function SetRegion(regionName) {
$('#<%=hdnRegion.ClientID%>').val(regionName);
__doPostBack('<%=lnkRedirectButton.UniqueID%>', '');
}
</script>
<img src="/Images/Interface/Map-Background.png" usemap="#regionMapView" class="map" />
<map id="regionMapView" name="regionMapView">
<area id="x" href="javascript:SetRegion('x')" shape="poly" coords=",,,," />
<area id="y" href="javascript:SetRegion('y')" shape="poly" coords=",,,," />
<area id="z" href="javascript:SetRegion('z')" shape="poly" coords=",,,," />
</map>
<asp:HiddenField ID="hdnRegion" runat="server" />
<asp:LinkButton ID="lnkRedirectButton" onclick="lnkRedirectButton_Click" runat="server" />
, и мой код выделен следующим образом:
protected void lnkRedirectButton_Click(object sender, EventArgs e)
{
string region = hdnRegion.Value; //at this point, I expect hdnRegion.Value to be "x" "y" or "z" but it's always coming back empty :-(
//do stuff...
}
Я добавил фиктивную LinkButton для использования в качестве перехватчика для обратной передачи (чтобы создать метод выделенного кода для обработки обратной передачи).
Я пробовал этот код в автономном веб-приложении, и он, кажется, работает нормально, поэтому мне интересно, происходит ли что-то с sitecore, которое портит значение скрытого поля во время процесса обратной передачи?
уточнить;событие postback запускается и обрабатывается на сервере нормально, и я использовал alert () в javascript, чтобы подтвердить, что значение скрытого поля было установлено правильно.
Редактировать: Повторно помеченный вопрос для включения тега jquery-ui.Эта проблема, похоже, связана с тем, что все это происходит внутри div, который отображается с помощью метода $ (). Dialog () в библиотеке пользовательского интерфейса jQuery ...