2013-09-25 176 views
0

有没有办法在不导致id被更改的情况下设置元素runat="server"在不更改ID的情况下在服务器上运行

我有一个母版页和一个内容页。在此内容页面中有一个表格,其ID为id="fulllist_list_table"。如果我将runat="server"应用于tbl元素,则ID将变为id="ctl00_content_fulllist_list_table。我宁愿这种变化不会发生。

有没有办法让上面的场景不改变表格元素的ID?

代码如下。

内容HTML

<%@ Page Language="C#" MasterPageFile="master.master" Inherits="DenApp.fulllist" Title="DenApp - Full List"%> 
<asp:content ID="contentInternal" contentplaceholderid="content" runat="server"> 
<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#master_tabs_div_fulllist").removeClass("master_tabs_links"); 
     $("#master_tabs_div_fulllist_div").removeClass("master_tabs_tabs"); 
     $("#master_tabs_div_fulllist_div").addClass("master_tabs_selected"); 
     $("#fulllist_list_table").tablesorter({ 
      widgets: ["zebra", "filter"], 
      widgetOptions: { 
       filter_childRows: false, 
       filter_columnFilter: true, 
       filter_ignoreCase: true, 
       filter_liveSearch: true, 
       filter_searchDelay: 100, 
       filter_startsWith: true, 
      } 
     }); 
     $("#fulllist_list_table").tablesorterPager({ 
      container: $("#fulllist_paging_div"), 
      size: 25, 
      output: '{startRow}-{endRow}/{totalRows}', 
      cssNext: '#fulllist_paging_div_nextbtn', 
      cssPrev: '#fulllist_paging_div_prevbtn', 
      cssFirst: '#fulllist_paging_div_firstbtn', 
      cssLast: '#fulllist_paging_div_lastbtn', 
      cssPageSize: '#fulllist_paging_div_pagesize', 
     }); 


}); 
</script> 
<link rel="Stylesheet" href="./css/fulllist.css" /> 
    <div id="master_content_wrapper"> 
     <div id="fulllist_list_div"> 
      <table id="fulllist_list_table" class="tablesorter" runat="server" clientidmode="Static"> 
       <thead> 
        <tr> 
         <th>Account Number</th> 
         <th>Patient Name</th> 
         <th>Plan Code</th> 
         <th>Carrier</th> 
         <th>Billed Patient Type</th> 
         <th>Initial Patient Type</th> 
         <th>Denial Code</th> 
         <th>Denial Reason</th> 
         <th>Admit Date</th> 
         <th>Discharge Date</th> 
         <th>Appeal Amount</th> 
         <th>Total Charges</th> 
         <th>Received Date</th> 
        </tr> 
       </thead> 
       <tbody> 
        <tr> 
         <td>C0000000000</td> 
         <td>Smith, John T</td> 
         <td>000000</td> 
         <td>Insurance</td> 
         <td>PT</td> 
         <td>PT</td> 
         <td>0000</td> 
         <td>Denied</td> 
         <td>01/01/01</td> 
         <td>01/01/01</td> 
         <td>$100.00</td> 
         <td>$100.00</td> 
         <td>01/04/01</td> 
        </tr> 
        <tr> 
         <td>C0000000001</td> 
         <td>Rita, John T</td> 
         <td>000001</td> 
         <td>Insurance</td> 
         <td>PT</td> 
         <td>PT</td> 
         <td>0000</td> 
         <td>Denied</td> 
         <td>02/01/01</td> 
         <td>01/02/01</td> 
         <td>$200.00</td> 
         <td>$1,000,000.00</td> 
         <td>01/04/01</td> 
        </tr> 
       </tbody> 
      </table> 
     </div> 
     <div id="fulllist_paging_div"> 
      <div id="fulllist_paging_div_firstbtn" class="fulllist_tablenav"> 
      </div> 
      <div id="fulllist_paging_div_prevbtn" class="fulllist_tablenav"> 
      </div> 
      <div id="fulllist_paging_div_numpages_div" > 
       <select id="fulllist_paging_div_pagesize"> 
        <option value="10">10</option> 
        <option selected="selected" value="25">25</option> 
        <option value="50">50</option> 
        <option value="100">100</option> 
        <option value="150">150</option> 
        <option value="200">200</option> 
       </select> 
      </div> 
      <div id="fulllist_paging_div_pagedisplay" class="pagedisplay"> 
      </div> 
      <div id="fulllist_paging_div_nextbtn" class="fulllist_tablenav"> 
      </div> 
      <div id="fulllist_paging_div_lastbtn" class="fulllist_tablenav"> 
      </div> 
     </div> 
    </div> 
</asp:content> 
+1

我想知道为什么我没有得到那种行为。我发现这个:http://stackoverflow.com/questions/4437717/asp-net-2-5-prefixing-ctl00-and-asp-net-4-not-prefixing-ctl00可能是,你用一个较旧的ASP.NET版本? –

+0

我相信我们的服务器在ASP.NET 2上运行。我们最近可能安装了3.5更新,但它不是4.0。 – steventnorris

+1

我没有解决方案,因为我认为不可能在4.0之前的任何版本中阻止该行为,但本文至少可以提供一些见解,因为像'ClientIDMode'这样的东西可用> = .NET 4.0:http: //weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4- 0-series.aspx –

回答

1

设置ClientIDModeStatic表元素。

<table id="fulllist_list_table" runat="server" clientidmode="Static"> 

正如你在评论中提及您正在使用.Net 2.0框架,所以,我想告诉你,不幸的是ClientIDModeframework 4.0前可用。 看看here for this change

旧版本的值为Auto

+0

标签现在读

,但id仍然发生变化。 – steventnorris

+0

它是如何改变的?你如何访问这个ID。你能告诉我们代码吗? – Sachin

+0

添加上面的代码。不管clientidmode如何,id都会更改为ctl00_content_fulllist_list_table。我知道它会更改,因为通过css和jquery应用的格式不会运行。另外,当检查viewsource时,我可以看到id已经改变。如果有帮助,我正在使用.NET 2.0。 – steventnorris

相关问题