Я пытаюсь сделать DropDownList, используя divs и jquery (чтобы я мог стилизовать его так, как хочу)... и его работа, но проблема в том, что я не могу получить выбранное значение из списка.
После выбора опции я копирую выбранное значение в div. Я хочу извлечь его с помощью С# (на странице.aspx.cs)... Я попытался сделать это с помощью строкового построителя и innerHtml (после добавление runat = "server" в div).. но это не работает... код выглядит следующим образом
.aspx Страница:
<div class="ddl">
<div id="lowertriangle" class="lowertriangle"></div>
<div id="uppertriangle" class="uppertriangle"></div>
<div id="label" class="labeldiv_dd" runat="server"></div>//***This is the div from which I want to extract value***
<div id="options" class="optionsidv_dd">
<ul id="options_ul">
<li id="0">Select One Option</li>
<li id="1">Option 1</li>
<li id="2">Option 2</li>
<li id="3">Option 3</li>
<li id="4">Option 4</li>
<li id="5">Option 5</li>
</ul>
</div>
</div>
Страница aspx.cs
Метод 1, который я пробовал:
string sel_text = label.InnerHtml;
display_sel_value.Text = sel_text.ToString();
Второй метод:
var sb = new StringBuilder();
label.RenderControl(new HtmlTextWriter(new StringWriter(sb)));
string s = sb.ToString();
Просьба указать на мои ошибки и помочь мне в этом отношении (в извлечении innerHTML div, который есть). благодаря
Нет, размещение контента в div не будет работать.
Ваш пример недостаточно велик, чтобы увидеть все, что происходит, но предположим, что вы в стандартной <form>
, вы устанавливаете внутренний HTML-элемент div в значение с Javascript, а затем отправляете стандартным способом,
Тогда одним из способов сделать то, что вы хотите, является использование скрытого ввода и установка его атрибута value
вместо его содержимого.
<input id="label" class="labeldiv_dd" runat="server" type="hidden">
В коде кода С# может получить значение из этого элемента управления после отправки с помощью свойства .Value
.
Хорошо, ребята, спасибо за ваши ответы. Я нашел способ решить эту проблему... Я использовал элемент управления HiddenField для хранения выбранного значения с помощью jQuery
$("#options_ul li").click(function () {
var text = this.innerHTML;
***$('#<%= selectedvalue.ClientID %>').val(text);***
$("#options_ul li").css("background-color", "#c2c2c2");
$(this).css("background-color", "white");
//var prev = this.id;
//document.getElementById("label").innerHTML = text;
toggleHeight();
});
а затем доступ к ней на стороне сервера, используя
selectedvalue.value;
PS: "selectedvalue" является идентификатором элемента управления скрытым полем