Как я могу прочитать внутренний текст p-тега с runat="server" в коде позади?
Проблема, с которой я столкнулся, заключается в ASP.NET я назначаю данные p-tag innerText из JQuery, когда форма загружается, и это работает нормально. Но затем, в коде позади, когда я пытаюсь ссылаться на один и тот же внутренний текст одних и тех же p-тегов, все они входят в код позади в виде пустых строк, даже если данные отображаются нормально на форме. Я использую runat="сервер" в p-тегах.
Обратите также внимание, что только для тестирования я попытался жестко закодировать синусоидальный текст в p-tag pPlaceId следующим образом:
<p id="pPlaceId">This is a test.</p>
и если он жестко закодирован таким образом, то он успешно извлекается в коде позади.
Вот верхняя строка страницы HTML/JavaScript:
&ЛТ;%@ страницы язык="в C#" AutoEventWireup значение="истинной" отделенного кода="MyWebForm.aspx-файл.КС" наследует="MyAppName.MyWebForm" %>
Что я могу сделать, чтобы содержимое p-тега, назначенное и не жестко закодированное, было доступно в коде позади?
Что я уже пробовал:
У меня есть этот код JQuery, устанавливающий внутренний текст трех p-тегов в ASP.NET. Он отлично работает и заполняет три p-тега из localStorage при загрузке формы.
<script> $(document).ready(function () { document.getElementById("pPlaceId").innerText = localStorage.getItem("Map_PlaceId"); document.getElementById("pPlaceName").innerText = localStorage.getItem("Map_PlaceName"); document.getElementById("pPlaceAddress").innerText = localStorage.getItem("Map_PlaceVicinity"); }); </script>
У меня есть контейнер div tag, который содержит тег формы, указывающий runat="server", и у меня есть в форме эти три p-тега, расположенные в элементах div row и div col:
<p id="pPlaceId" runat="server"></p> <p id="pPlaceName" runat="server"></p> <p id="pPlaceAddress" runat="server"></p>
Когда форма загружается, p-теги заполняются данными, как и ожидалось. Эта страница действует как страница подтверждения. Он отображает три части информации, которые были отправлены, и предоставляет две кнопки: Отправить и отменить.
Когда я нажимаю кнопку Отправить, он успешно выполняет обработчик щелчка в коде позади, никаких проблем там нет. Но в обработчике щелчка извлечение внутреннего текста p-тегов завершается неудачей. Каждый из них приходит в виде пустой строки.
с фоновым кодом
protected void btnSubmit_Click(object sender, EventArgs e) { //Read the connection string from Web.Config file string ConnectionString = ConfigurationManager.ConnectionStrings["HCCS"].ConnectionString; oLL = new LocLogin(); oLL.PersonID = Convert.ToInt32(this.Session["UserID"].ToString()); try { oLL.PlaceID = pPlaceId.InnerText; oLL.LocName = pPlaceName.InnerText; oLL.LocAddress = pPlaceAddress.InnerText; if(oLL.PlaceID != null) { <Code to serialize data> } } catch ( Exception ex) { string exception1 = ex.InnerException.ToString(); } <Other code> } <Other code> }