javascript中的_ctl0
是什么以及我们如何使用它。
因此,它们用于存储当前选项卡的值,因为它是回发。
实际上我使用jquery,html和css创建标签而不使用jquery ui。我正面临着postaback问题的旅馆标签。当我在第二个标签页时,它会进入第一个标签而不是第二个标签页。下面为此我使用_ctl0_hdnCurrentTabSelection
存储当前标签值。这是正确的方法。
我还能找到一些我在回发期间保存的当前标签索引。
if ($('#_ctl0_hdnCurrentTabSelection').val() == "") {
$('#_ctl0_hdnCurrentTabSelection').val(location.hash)
}
$active = $($links.filter('[href="' + $('#_ctl0_hdnCurrentTabSelection').val() + '"]')[0] || $links[0]);
$active.addClass('active');
$content = $($active.attr('href'));
window.location.href = window.location.href.toString() + $active.attr('href');
HTML
<ul class='tabs'>
<li><a href='#tab1'>Tab 1</a></li>
<li><a href='#tab2'>Tab 2</a></li>
<li><a href='#tab3'>Tab 3</a></li>
</ul>
<div id='tab1' class=tabss>
<ul class= "set2">
<li> test 1<asp:TextBox runat="server" /></li>
<li> test 2<asp:TextBox runat="server" /></li>
</ul>
</div>
<div id='tab2' class=tabss>
<ul class= "set2">
<li> test 3<asp:TextBox runat="server" /></li>
<li> test 4<asp:TextBox runat="server" /></li>
</ul>
</div>
<div id='tab3' class=tabss>
<ul class= "set2">
<li> test 5<asp:TextBox runat="server" ID="test5" /></li>
<li> test 6<asp:TextBox runat="server" ID="test6" /></li>
</ul>
</div>
答案 0 :(得分:4)
_ctl0_
的前缀是服务器端ID的唯一性。与服务器端代码一样,许多控件可以具有相同的ID。
您可以使用
$('#<%= hdnCurrentTabSelection.ClientID %>').val()
Innstead of
$('#_ctl0_hdnCurrentTabSelection').val()
ClientID
将为您提供asp.net将生成的内容。
如果您使用的是.Net Framework 4及更高版本,那么您还可以使用ClientIDMode="static"来保留与服务器控件相同的html控件ID
ClientID值设置为ID属性的值。如果 control是一个命名容器,控件用作顶部 为其包含的任何控件命名容器的层次结构, MSDN
答案 1 :(得分:0)
ASP.NET引擎在运行时为那些尚未显式设置ID的控件设置ID值。它使用命名模式ctlXX,其中XX是顺序递增的整数值。因此,在嵌套母版页的情况下,您将获得前缀为ctlxx,其中xx将是递增值。
Control的Id值以主页的ID值ctl00为前缀。净效果是一个id属性值,由主页面的Content值,ContentPlaceHolder控件和Control本身组成。
有关详细信息,请参阅http://www.asp.net/web-forms/tutorials/master-pages/control-id-naming-in-content-pages-cs。
要在jquery中获取并设置asp.net控件值:
(获取控制值):$('[id $ = ControlId]')。val();和 (设置控制值):$('[id $ = ControlId]')。val('Value');
在jquery中获取和设置html控件值:
(获取控制值):$('#ControlId')。val();和 (设置控制值):$('#ControlId')。val('Value');