내 GridView에 페이지 매김을 추가하려고했습니다. gridview는 탭 중 하나 인 탭 안에 있습니다.Bootstrap은 ASP.NET에서 gridview 페이지 매김을 사용하여 현재 탭을 저장합니다.
HTML 코드는 다음과 같습니다
<div id="Tabs" class="row">
<ul class="nav nav-tabs">
<li class="active"><a data-toggle="tab" href="#home">Home</a></li>
<li><a data-toggle="tab" href="#menu1">Menu 1</a></li>
<li><a data-toggle="tab" href="#menu2">Menu 2</a></li>
</ul>
<div class="tab-content">
<div id="home" class="tab-pane fade in active">
<h3>HOME</h3>
<p>Some content.</p>
</div>
<div id="menu1" class="tab-pane fade">
<h3>Menu 1</h3>
<p>Some content in menu 1.</p>
</div>
<div id="menu2" class="tab-pane fade">
<h3>Menu 2</h3>
<p>Some content in menu 2.</p>
</div>
</div>
</div>
나는 현재 탭 ID를 저장하는 트릭을 사용하고 매번 페이지가이 탭 보여주기 위해로드 :
<asp:HiddenField ID="TabName" runat="server" />
하고 스크립트를 :
$(document).ready(function() {
var tabName = $("[id*=TabName]").val() != "" ? $("[id*=TabName]").val() : "home";
$('#Tabs a[href="#' + tabName + '"]').tab('show');
$("#Tabs a").click(function() {
$("[id*=TabName]").val($(this).attr("href").replace("#", ""));
});
});
Page_load 코드 :
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
populateAllGrids();
}
else
TabName.Value = Request.Form[TabName.UniqueID];
}
탭 안에서 버튼을 클릭하면 효과적이지만, 페이지 매김의 링크를 클릭하면 TabName 값이 링크 자체로 설정됩니다.
예를 들어,이 설정됩니다 : 그런데
ctl00$ContentSection$TabName:javascript:__doPostBack('ctl00$ContentSection$grvManufacturers','Page$2')
, 내가 크롬의 콘솔에서의 GridView의 두 번째 페이지에 저를 이동 링크를 실행할 때, 그것은 잘 작동합니다.
어떤 생각을하고있는 것 같습니까?
감사합니다.