これを正しく説明できることを願っています。ViewStateは、JavaScriptを使用したコントロールの前後に表示されるコントロールに対して失われます。
私は、ASP.net(3.5)にGridViewを含むページを持っています。 GridViewの列とヘッダーをフリーズするjqueryを実装しました(実装したjqueryはhttp://gridviewscroll.aspcity.idv.tw/)。
今、不満足な部分です。 GridViewの上にあるページ上の任意のコントロールは、ポストバック時にビューステートを保持します。 GridViewに続くコントロールは、ポストバック時にビューステートを失います。
<asp:TextBox ID="tbx_Value1" runat="server" />
<asp:TextBox ID="tbx_Value2" runat="server" />
<asp:GridView ID="gv_Data" runat="server" />
<asp:TextBox ID="tbx_Value3" runat="server" />
ので、ポストに戻ってtbx_Value1、tbx_Value2とGridViewコントロールのビューステートは保持されますが、tbx_ValueValue3のビューステートが失われます。 EnableViewState="true"
を設定しても状況は改善されません。
jQueryのダウンロードは、次のJavaScriptに呼び出されます。
<script type="text/javascript">
var c = 0;
c = '<%=this.col %>';
$(document).ready(function() {
gridviewScroll(c);
});
function gridviewScroll(c) {
$('#<%=gv_Data.ClientID%>').gridviewScroll({
width: 1350,
height: 330,
freezesize: c,
arrowsize: 30,
varrowtopimg: "../../../images/arrowvt.png",
varrowbottomimg: "../../../images/arrowvb.png",
harrowleftimg: "../../../images/arrowhl.png",
harrowrightimg: "../../../images/arrowhr.png",
headerrowcount: 1
});
}
</script>
私はこれに対処する方法に関して損失でいます。私はコントロールを移動し、ページを再作成し、アプリケーションを再構築しました。これはすべて同じ結果を返します。だから、私はそれがジャバスクリプト(または私が使用しているjqueryのダウンロード)と関係があると仮定することができます。おそらく、それがページのライフサイクルに適用されるのでしょうか? Javascript/jqueryは私の強みではないので、どんな助けでも大歓迎です。
ありがとうございます。
あなたが_JavaScript_意味:
私はこのポストを経由して、このソリューションに到着しましたか!具体的にしてください。 –
はい。それは、私がリンクしているjqueryと、私が投稿したjavascriptです。 – TennesseePaul
jQueryが ''タグの外に 'input'フィールドを移動しているかどうか確認してください。最近モーダルポップアップがフォーム外にGridViewを配置した[類似の問題](http://stackoverflow.com/questions/41639331/gridview-rowcommand-not-firing)が最近ありました。 – VDWWD