2013-11-12 3 views
0

У меня есть несколько asp.net литералов на странице, как это:передачи asp.net буквальный объект JavaScript

<asp:Literal ID="litEmailInvestigatingHealthOfficer" runat="server"></asp:Literal> 

И когда их соответствующие текстовые поля заполняются с другой страницы, он перебирает через яваскрипт функцию и вызывает функцию js: validateEmail (idNo, theliteralobject);

Я уже написал вызов ajax для веб-метода и в этом веб-методе, я хочу сделать вызов уже существующей функции asp.net, которая ожидает объект-сотрудник и литерал-объект.

 function validateEmail(idNo, literalCtl) { 
     $.ajax({ 
      type: "POST", 
      url: "RespPerson.aspx/validateEmails", 
      dataType: "json", 
      data: "{empID: " + idNo + ",literal:" + literalCtl + "}", 
      contentType: "application/json", 
      success: function (data) { 
       alert('Im done'); 
      }, 
      error: function (xhr) { 
       alert(xhr.responseText); 
      } 
     }); 
    } 

Возможно ли передать объект буквально asp.net в Javascript, а затем в веб-метод? Если я попытаюсь указать только объект, он помещает System.Web.UI.WebControls.Literal в js-вызов и говорит, что он не определен.

+1

Это не ясно, что вы на самом деле подразумеваем под «передать буквальный объект в JavaScript.» Элемент управления ASP.NET 'Literal' сам по себе не выводит на страницу какой-либо вывод, он только отображает его содержимое (как литералную строку). Вы можете ссылаться на содержимое, если у них есть некоторые способы ссылки (например, обертывание в идентифицируемый «div», например), но сам 'Literal' не имеет значения на стороне клиента, так что с ним ничего не может сделать JavaScript. – David

+0

Я думал больше о том, как вы могли передать литеральный объект в asp.net codebehind для достижения разных целей, и мне было интересно, можно ли передать объект через js. –

+0

Я боюсь не просто потому, что на стороне клиента отсутствует «Литерал». Что именно вы пытаетесь достичь? Вероятно, существует гораздо более простой подход. – David

ответ

0

Literal не представляет никаких тегов html. то, что он делает в html, - это то, что вы вложили в его свойство Text.

litEmailInvestigatingHealthOfficer.Text = "some text"; 

<div> 
<asp:Literal ID="litEmailInvestigatingHealthOfficer" runat="server" /> 
</div> 

html output: 
<div> 
some text 
</div> 

в то время как

lblEmailInvestigatingHealthOfficer.Text = "some text"; 

<div> 
<asp:Label ID="lblEmailInvestigatingHealthOfficer" runat="server" /> 
</div> 

html output: 
<div> 
<span id='lblEmailInvestigatingHealthOfficer'>some text</span> 
</div> 
Смежные вопросы