0

У меня есть элемент управления .ascx. То есть имея несколько Html таблицу и раздел Разд RUNAT = "Сервер"При добавлении тега Runat = "Server" в таблицу HTML, sharepoint не отображает usercontrol

Кодекс выглядит следующим образом,

<div id = "divpayinfo" runat = "server"> 

<%!-- Some Code Here --%> 

<table style="width: 403px" runat = "server"> 
      <tr> 
       <td style="width: 63px; height: 22px;"> 
        test</td> 
       <td colspan="2" style="height: 22px"> 
        <strong><span style="color: #ffffff">ผู้ขอกู้หลัก</span></strong></td> 
      </tr> 
      <tr> 
       <td style="width: 63px; height: 21px"> 
       </td> 
       <td style="width: 180px; height: 21px"> 
        <strong>วงเงิน</strong></td> 
       <td style="height: 21px"> 
        <strong>ยอดคงค้าง</strong></td> 
      </tr> 
      <tr> 
       <td style="width: 63px"> 
        1. เงินกู้เพื่อที่อยู่อาศัย</td> 
       <td style="width: 180px"> 
        <asp:TextBox ID="b_txt_lh_loan_h_all" runat="server" CssClass="box_nosize_right" 
         MaxLength="8" onchange="To_Set_Value(document.getElementById('d_txt_lh_loan_h_all'),document.getElementById('b_txt_lh_loan_h_all'))" 
         onfocus="To_Get_Value(document.getElementById('d_txt_lh_loan_h_all'),document.getElementById('b_txt_lh_loan_h_all'))" 
         onmouseout="To_Set_Value(document.getElementById('d_txt_lh_loan_h_all'),document.getElementById('b_txt_lh_loan_h_all'))" 
         Text="0" Width="90px"></asp:TextBox><asp:TextBox ID="d_txt_lh_loan_h_all" runat="server" 
          Text="0"></asp:TextBox></td> 
       <td> 
        <asp:TextBox ID="b_txt_lh_loan_h_remain" runat="server" CssClass="box_nosize_right" 
         MaxLength="8" onchange="To_Set_Value(document.getElementById('d_txt_lh_loan_h_remain'),document.getElementById('b_txt_lh_loan_h_remain'))" 
         onfocus="To_Get_Value(document.getElementById('d_txt_lh_loan_h_remain'),document.getElementById('b_txt_lh_loan_h_remain'))" 
         onmouseout="To_Set_Value(document.getElementById('d_txt_lh_loan_h_remain'),document.getElementById('b_txt_lh_loan_h_remain'))" 
         Text="0" Width="90px"></asp:TextBox><asp:TextBox ID="d_txt_lh_loan_h_remain" runat="server" 
          Text="0"></asp:TextBox></td> 
      </tr> 
      <tr> 
       <td style="width: 63px; height: 102px;"> 
        2. เงินกู้เบิกเกินบัญชี</td> 
       <td style="width: 180px; height: 102px;"> 
        <asp:TextBox ID="b_txt_lh_loan_a_all" runat="server" CssClass="box_nosize_right" 
         MaxLength="8" onchange="To_Set_Value(document.getElementById('d_txt_lh_loan_a_all'),document.getElementById('b_txt_lh_loan_a_all'))" 
         onfocus="To_Get_Value(document.getElementById('d_txt_lh_loan_a_all'),document.getElementById('b_txt_lh_loan_a_all'))" 
         onmouseout="To_Set_Value(document.getElementById('d_txt_lh_loan_a_all'),document.getElementById('b_txt_lh_loan_a_all'))" 
         Text="0" Width="90px"></asp:TextBox><asp:TextBox ID="d_txt_lh_loan_a_all" runat="server" 
          Text="0"></asp:TextBox></td> 
       <td style="height: 102px"> 
        <asp:TextBox ID="b_txt_lh_loan_a_remain" runat="server" CssClass="box_nosize_right" 
         MaxLength="8" onchange="To_Set_Value(document.getElementById('d_txt_lh_loan_a_remain'),document.getElementById('b_txt_lh_loan_a_remain'))" 
         onfocus="To_Get_Value(document.getElementById('d_txt_lh_loan_a_remain'),document.getElementById('b_txt_lh_loan_a_remain'))" 
         onmouseout="To_Set_Value(document.getElementById('d_txt_lh_loan_a_remain'),document.getElementById('b_txt_lh_loan_a_remain'))" 
         Text="0" Width="90px"></asp:TextBox><asp:TextBox ID="d_txt_lh_loan_a_remain" runat="server" 
          Text="0"></asp:TextBox></td> 
      </tr> 
     </table> 

Я делаю некоторые manupulation с DIV и HTML таблицы на стороне сервера. так что я упомянул как серверную сторону. Я загружаю этот элемент управления в Sharepoint как formusercontrolwebpart.

Проблема заключается в том, что я загружаю таблицу с тегом runat = "Server", usercontrol не отображается на странице sharepoint ... Так что я копирую эту таблицу и создаю еще один ascx только с этой таблицей и загружаю ее в sharepoint но это работает нормально.

Я проверил весь свой код управления пользователя и добавил приложение ASP.NET. Usercontrol работает так, как будто не возникает никаких проблем. Но только тогда, когда я с добавлением Sharepoint страницы он дает проблемы ..

Я нашел следующее решение,

Удалить все RUNAT = «сервер» тег из каждой секции Div и добавьте RUNAT = «сервер» в тогда страница sharepoint работает. Но моя проблема заключается в том, что у меня много manupulation с тегом Div на стороне сервера. Так что я не могу использовать это решение.

Пожалуйста, посоветуйте мне, специалисты .. есть ли в любом случае sharepoint, защищающий тег runat = "server" от usercontrol или что-то еще связанные с этим ... Спасибо заранее ..

Если добавить follwing строк кода, то мой дисплей управления пользователь не рендеринга,

<asp:TableCell id="d_div_l2_row9" runat="server" style="display: none; vertical-align: middle; 
        text-align: center"> 
        <asp:TextBox ID="b_txt_l2_comission" runat="server" CssClass="box_nosize_right" MaxLength="8" 
         onchange="To_Set_Value(document.getElementById('d_txt_l2_comission'),document.getElementById('b_txt_l2_comission'))" 
         onfocus="To_Get_Value(document.getElementById('d_txt_l2_comission'),document.getElementById('b_txt_l2_comission'))" 
         onmouseout="To_Set_Value(document.getElementById('d_txt_l2_comission'),document.getElementById('b_txt_l2_comission'))" 
         Text="0" Width="180px"></asp:TextBox><span style="display: none"><asp:TextBox ID="d_txt_l2_comission" 
          runat="server" Text="0"></asp:TextBox></span></asp:TableCell> 
+0

Я не уверен, что правильно понял ваш вопрос, Любой тег с 'runat =" server "' заставляет пользовательский элемент управления исчезать? – banana

+0

Дорогой банан, тег runat = "server" работает нормально до некоторой строки. Но когда я вставляю runat sever после определенной строки, тогда usercontrol не отображается. Я проверил код, так как мой usercontrol отлично работает с моим asp.net webapplication .. но он не работает на странице sharepoint. – Magesh

+0

Вы пытались отлаживать и посмотрите, есть ли исключение? – banana

ответ

0

Moose, Эндрю и банан,

Спасибо вам большое за ваши усилия, чтобы помочь мне.

Я нашел еще один способ добиться решения, но все же мне нужна головная боль, чтобы выяснить причину.

Я загрузил тот же пользовательский контроль в папке «control template» сервера sharepoint, и я создал страницу .aspx для этого пользовательского элемента управления и загрузил aspx в sharepoint. теперь он отлично работает так, как он работал с приложением asp.net.

+0

Отметьте, так как этот вопрос отмечен как разрешенный и не будет отображаться как открытый в списках. –

0

Я думаю, жерех: панель преобразуется в DIV в лежащий в основе HTML. Вы можете попробовать это;

<asp:panel id="divpayinfo" runat="server"> 

    <!-- Your code here --> 

</asp:panel> 
+0

Спасибо Dear Moose, прямо сейчас я конвертирую все разделы Div в Panel и всю таблицу HTML в ASP: Table. Но моя проблема в том, что есть много Div и Table :) возможно около 8 таблиц и 25 разделов Div. Вот почему я пытаюсь выяснить основную проблему. Если у вас есть какие-либо предложения, пожалуйста, поделитесь ли какой-либо ценностью, связанной с sharepoint, которая не позволяет моим Div и Table не работать вместе :( – Magesh

+0

Я конвертировал все мои DIV и Table являются ASP.NET Panel и asp: Table, но все та же проблема, с которой я столкнулся. i В какой-то момент от oneline я обнаружил, что я удаляю тег runat = "server", тогда я мог бы просматривать пользовательский элемент управления ... Я не уверен, в чем причина этой ошибки :( – Magesh

+1

Извините, у меня нет много других идей. Можете ли вы просмотреть исходный код, а затем посмотреть, существуют ли divs и таблицы? Может быть, есть Javascript, который корректирует видимое свойство или что-то похожий? –

0
<asp:TableCell id="d_div_l2_row9" runat="server" style="**display: none;** vertical-align: middle; 
        text-align: center"> 
        <asp:TextBox ID="b_txt_l2_comission" runat="server" CssClass="box_nosize_right" MaxLength="8" 
         onchange="To_Set_Value(document.getElementById('d_txt_l2_comission'),document.getElementById('b_txt_l2_comission'))" 
         onfocus="To_Get_Value(document.getElementById('d_txt_l2_comission'),document.getElementById('b_txt_l2_comission'))" 
         onmouseout="To_Set_Value(document.getElementById('d_txt_l2_comission'),document.getElementById('b_txt_l2_comission'))" 
         Text="0" Width="180px"></asp:TextBox><span style="display: none"><asp:TextBox ID="d_txt_l2_comission" 
          runat="server" Text="0"></asp:TextBox></span></asp:TableCell> 

отображения текста: ни в стиле не это генерироваться или добавленные Вами. Это означает, что управление не должно отображаться.

+0

Уважаемый Андрей, Да, это не будет видно UI, и я не делаю никаких manupulation с этим текстовым полем .... Даже вместо этого текстового поля, если я добавлю один элемент управления с тегом runat = server, например

Testcall
.., то также не отображается. Я комментирую javascript и свой уровень Business & DB тоже .. не повезло .. все равно запутаться в sharepoint .. i добавьте usercontrol в мое приложение asp.net, он работает нормально, но sharepoint-страница только дает мне проблему – Magesh